MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Lorsque MongoDB insère une date, il la convertit en UTC

Vous pourriez penser que votre date est en UTC, par opposition à une date et heure locale nécessitant un décalage UTC. Mais il n'est pas conforme à la norme internationale ISO 8601 lorsqu'il s'agit de fuseaux horaires. Lorsque vous souhaitez spécifier un fuseau horaire, vous devez utiliser un indicateur de fuseau horaire. MongoDB stocke les dates au format UTC et ISO nécessite un indicateur de fuseau horaire "Z" pour représenter l'heure UTC.

Pour clarifier les choses pour vous, en termes d'ISO 8601, l'heure ci-dessous n'est pas stockée en heure UTC. Ceci est stocké à l'heure locale de Paris, France avec un décalage UTC de + 1 heure.

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

Ce ci-dessous est stocké en heure UTC comme spécifié par le Z. Ainsi, aucun décalage + n'est requis.

2019-08-01T23:00:34.655Z

MongoDB stocke les dates comme suit :

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

ISODate() est une fonction d'assistance intégrée à MongoDB et encapsule l'objet Date JavaScript natif.