Moment: startOf('day') me está dando ayer

Creado en 3 abr. 2016  ·  3Comentarios  ·  Fuente: moment/moment

Ejecutando el siguiente código en Chrome Versión 49.0.2623.110 m
image
¿Quizás relacionado con # 2982?

Comentario más útil

Debido a que está utilizando la función moment() para construir su fecha, moment asume que está manejando una fecha local. Por lo tanto, la función .startOf() lo está moviendo al inicio de su fecha local.
Sin embargo, .toISOString() genera una fecha UTC, como lo indica la Z al final de las cadenas.

Según tu perfil de github, parece que estás en Israel. Entonces, ajustando la zona horaria de Asia/Jerusalén y poniéndolo todo en código:

//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"

//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"

//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"

Debe trabajar completamente en hora local y usar .format() para obtener el resultado que desea, o trabajar completamente en UTC.

Esta sección de los documentos podría ser útil:
http://momentjs.com/guides/#/parsing/local-utc-zone/

Todos 3 comentarios

Debido a que está utilizando la función moment() para construir su fecha, moment asume que está manejando una fecha local. Por lo tanto, la función .startOf() lo está moviendo al inicio de su fecha local.
Sin embargo, .toISOString() genera una fecha UTC, como lo indica la Z al final de las cadenas.

Según tu perfil de github, parece que estás en Israel. Entonces, ajustando la zona horaria de Asia/Jerusalén y poniéndolo todo en código:

//the time now in Jerusalem
moment().format()
"2016-04-03T14:48:10+03:00"

//start of day in Jersualem
moment().startOf('day').format()
"2016-04-03T00:00:00+03:00"

//start of day as ISO string is three hours before start of day in Jerusalem
moment().startOf('day').toISOString()
"2016-04-02T21:00:00.000Z"

Debe trabajar completamente en hora local y usar .format() para obtener el resultado que desea, o trabajar completamente en UTC.

Esta sección de los documentos podría ser útil:
http://momentjs.com/guides/#/parsing/local-utc-zone/

:cara-palma:

Gracias por la completa explicación.

Creo que en realidad he explicado esto al menos dos veces esta semana entre aquí y Stack Overflow. No eres la única persona que está confundida. Voy a actualizar los documentos para que la parte UTC sea un poco más clara.

¿Fue útil esta página
0 / 5 - 0 calificaciones