/ / Mongoose konwertuje zapisane daty UTC na czas lokalny? - node.js, mongodb, mangusta

Mongoose konwertuje przechowywane daty UTC na czas lokalny? - node.js, mongodb, mangusta

Zastanawiam się, czy jest to normalne, czy brakuje mi czegoś w procesie konfiguracji schematu lub zapytania:

Moja aplikacja i mangoose poprawnie przechowują datęjako UTC w mongodb. Potwierdza to przeglądanie dokumentów za pomocą skorupy mangowej. Kiedy odzyskuję dokumenty z mongodb za pomocą mangoose, data jest teraz czasem lokalnym.

muszla mangowa: http://cl.ly/image/2m3P212o0i2x

Dane wyjściowe console.log wyników zapytania: http://cl.ly/image/3W2q3b1R0F3q

Czy istnieje sposób, aby mangusta zachowywała datę UTC, gdy pytano?

Odpowiedzi:

7 dla odpowiedzi № 1

Mongoose i node.js nie robią nic z Twoimi datami, po prostu JavaScript Date Typ wywołuje ciąg czasu lokalnego podczas połączenia toString() na nim, mimo że faktycznie zawiera czas w UTC.

Wyraźnie zadzwoń toUTCString() na Twoim Date obiekt, jeśli chcesz ciąg czasu UTC.


1 dla odpowiedzi nr 2

Znaczniki czasu są przechowywane w strefie czasowej agnostycznie,jako uniksowy znacznik czasu. Ten znacznik czasu będzie działał w różnych strefach czasowych, a węzeł interpretuje go przy użyciu bieżącej strefy czasowej. Możesz pobrać wartość UTC z obiektu daty za pomocą metod getUTC *, takich jak getUTCHours ()