Tengo un objeto Date de JavaScript igual a 00:30 y cuando se hace:Adición de 30 minutos hasta la fecha hace que se vuelva 30 minutos
date.setMinutes(date.getMinutes() + 30);
hace que el objeto de fecha igual a 00:00.
¿Alguien sabe por qué sucede esto?
Aquí es donde se está utilizando el código:
for (var i = openTime; i <= closeTime; i.setMinutes(i.getMinutes() + timeIncrement)) {
var time = i.getHours() + (i.getHours() == 0 ? '0' : '') + ':' + i.getMinutes() + (i.getMinutes() == 3 || i.getMinutes() == 0 ? '0' : '');
$(timeClientId).append($('<option />').val(time).text(time));
}
La secuencia de comandos anterior crea una lista de horas disponibles desde las 10:00 am hasta el final a 02:00 am del día siguiente.
Funciona bien hasta que llega a la medianoche 00:00 después de muchas iteraciones exitosas.
¿Alguien puede ayudar?
Gracias!
Respuesta/Solución:
Este problema se debe a un problema de horario de verano, por lo que este sábado se adelantan los relojes. Por alguna extraña razón, al agregar 30 minutos a las 12:30, se reinicia a 12:00 utilizando .setMinutes(). Esto lo mantuvo en un ciclo sin fin. La solución fue agregar minutos usando i.setTime (i.getTime() + timeIncrement * 60 * 1000) Esto solucionó el problema.
¡Salud para todas sus respuestas!
Gracias por la respuesta. ¿Cómo mejorarías el tiempo en 30 minutos? – Base33
Se agregó una muestra. – Karlth
Gracias. Esto es correcto también – Base33