Consideremos el siguiente ejemplo
const date = new Date(0); date.setSeconds(60*60*24-1); console.log(date.toISOString().substr(11, 8));salidas
23:59:59Estoy buscando una manera elegante de tener
const date = new Date(0); date.setSeconds(60*60*24+1); console.log(date.toISOString().substr(11, 8));producción
24:00:01en vez de
00:00:01por elegante quiero decir sin implementar mi propio objeto Fecha... ¿Tal vez sería posible establecer una duración personalizada del día? ¿Aumentar de 24h a 99h?
Puede configurar el ciclo de horas en la opción de ciclo de horas ( hr ) y el parámetro de idioma disponible en el constructor Intl.DateTimeFormat y toLocaleTimeString , por ejemplo
console.log( new Date(2020,7,1,0,5).toLocaleTimeString('en-CA-u-hc-h24') );Si la configuración del ciclo de horas "funciona" o no parece depender del idioma elegido y cómo está configurado, por lo que tal vez no sea tan confiable. Pruebe a fondo en diferentes implementaciones.