Możesz pomyśleć, że Twoja data jest w UTC, w przeciwieństwie do lokalnej daty wymagającej przesunięcia UTC. Ale nie jest zgodny z międzynarodową normą ISO 8601 w przypadku stref czasowych. Jeśli chcesz określić strefę czasową, musisz użyć desygnatora strefy czasowej. MongoDB przechowuje daty w formacie UTC, a ISO wymaga oznaczenia strefy czasowej „Z” do reprezentowania czasu UTC.
Dla wyjaśnienia, w zakresie ISO 8601, poniższy czas nie jest przechowywany w czasie UTC. Jest on przechowywany w czasie lokalnym w Paryżu we Francji z przesunięciem UTC wynoszącym + 1 godzinę.
1997-07-16T19:20:30.45+01:00
To poniżej jest przechowywane w czasie UTC określonym przez Z. Dlatego nie jest wymagane przesunięcie +.
2019-08-01T23:00:34.655Z
MongoDB przechowuje daty w następujący sposób:
ISODate("2019-08-05T02:50:49.637Z")
ISODate() to funkcja pomocnicza, która jest wbudowana w MongoDB i otacza natywny obiekt Data JavaScript.