MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Quando o MongoDB insere uma data, ele a converte para UTC


Você pode pensar que sua data está em UTC, em oposição a uma data e hora local que exige um deslocamento UTC. Mas não está em conformidade com o padrão internacional ISO 8601 ao lidar com fusos horários. Quando você deseja especificar um fuso horário, deve usar um designador de fuso horário. O MongoDB armazena datas no formato UTC e a ISO requer um designador de fuso horário "Z" para representar a hora UTC.

Para esclarecer as coisas para você, em termos de ISO 8601, o horário abaixo não é armazenado no horário UTC. Isso é armazenado na hora local de Paris, França, com deslocamento UTC de + 1 hora.
1997-07-16T19:20:30.45+01:00

Isso abaixo é armazenado no horário UTC conforme especificado pelo Z. Assim, nenhum + offset é necessário.
2019-08-01T23:00:34.655Z

O MongoDB armazena datas da seguinte forma:
ISODate("2019-08-05T02:50:49.637Z")

ISODate() é uma função auxiliar incorporada ao MongoDB e encapsula o objeto Data JavaScript nativo.