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

Node + Mongodb + ISODate + problema de fuso horário


Sim, conforme mencionado na resposta de abdulbarik, o MongoDB salva a data em UTC.

Objeto de data:-

Você pode usar o método getTimezoneOffset() para obter a diferença entre UTC e hora local.
  var d = new Date()
  var n = d.getTimezoneOffset();

  console.log('date obj ==>' + d);
  console.log('time zone obj ==>' + n);

Registro do console:-

Você pode ver que o fuso horário obj tem "-60". Estou em GMT+1 .
date obj ==>Mon Sep 12 2016 10:17:28 GMT+0100 (GMT Daylight Time)
time zone obj ==>-60

MongoDB persistiu a data em UTC:-

Eu usei o objeto "d" (ou seja, new Date()) para persistir a data no MongoDB. Embora eu esteja em GMT+1, a data é armazenada em UTC.
 "timestamp" : ISODate("2016-09-12T09:17:28.193Z"),