Noté algo raro con zonas horarias y el objeto Javascript Date
.¿Hay alguna forma de representar el 21 de octubre de 2012 en un objeto `Fecha` de Javascript?
Tratando esta en una máquina Linux:
$ TZ='America/Sao_Paulo' js
js> new Date(2012, 9, 21, 0, 0, 0).toString()
"Sat Oct 20 2012 23:00:00 GMT-0300 (BRST)"
me pareció que era imposible conseguir un objeto que representa Del 21 de octubre de 2012. Cada attemps para obtener una Date
ese día entre las 00:00 y las 01:00 da como resultado una fecha el día anterior entre las 11:00 p.m. y las 00:00 p.m.
(usuario de Windows puede cambiar su zona horaria a Brasilia/GMT-03 para experimentar el mismo comportamiento)
Adición de una hora (o un día) a de ello, tal fecha objeto en volver la misma fecha.
Supongo que tiene que ver con el horario de verano que se produce en esa fecha específica en Brasil, sin embargo, no sé cómo lidiar con eso.
que tienen un bucle que itera sobre los días del mes (para una aplicación de calendario) y es obvio que los bucles para siempre en ese caso, al alcanzar el 20 de octubre de 2012.
Tiene que haber algo que estoy haciendo mal, pero no sé cómo manejar un caso así, ya que supongo que también podría suceder en otras zonas horarias.
¿Cuál es la forma recomendada de tratar con Date
en Javascript para asegurar que esos problemas relacionados con la zona horaria/horario de verano no ocurran?
Gracias por su respuesta. Sin embargo, mi problema no es obtener la representación de cadena de la fecha, sino obtener un objeto válido que represente este momento exacto. – ereOn
Luego solo use el método UTC: 'new Date (Date.UTC (2012, 9, 21, 0, 0, 0));' – bjornd
Eso funciona mejor. ¿Podría por favor editar su respuesta para que sea más obvia cuál es la verdadera solución? Estaré encantado de aceptarlo entonces :) – ereOn