sql >> Base de Datos >  >> NoSQL >> MongoDB

Cuando MongoDB inserta una fecha, la está convirtiendo a UTC

Puede pensar que su fecha está en UTC, a diferencia de una fecha y hora local que requiere una compensación de UTC. Pero no cumple con el estándar internacional ISO 8601 cuando se trata de zonas horarias. Cuando desee especificar una zona horaria, debe utilizar un designador de zona horaria. MongoDB almacena fechas en formato UTC, e ISO requiere un designador de zona horaria de "Z" para representar la hora UTC.

Para aclararle las cosas, en términos de ISO 8601, la hora a continuación no se almacena en hora UTC. Esto se almacena en la hora local de París, Francia, con un desfase UTC de + 1 hora.

1997-07-16T19:20:30.45+01:00

Lo siguiente se almacena en la hora UTC según lo especificado por la Z. Por lo tanto, no se requiere un desplazamiento +.

2019-08-01T23:00:34.655Z

MongoDB almacena las fechas de la siguiente manera:

ISODate("2019-08-05T02:50:49.637Z")

ISODate() es una función de ayuda que está integrada en MongoDB y envuelve el objeto Date nativo de JavaScript.