@KARASZI ist bezüglich der Ursache absolut korrekt: Unix-Zeitstempel sind immer UTC, es sei denn, Sie manipulieren sie. Ich würde vorschlagen, dass wenn Sie einen Unix-Zeitstempel wollen, sollten Sie es in UTC belassen und nur in die lokale Zeit konvertieren, wenn Sie dem Benutzer eine formatierte Zeit anzeigen müssen.
Der erste Vorteil besteht darin, dass alle Ihre Server gleichzeitig "sprechen" können. Wenn Sie beispielsweise Server für Amazon EC2 US East und Amazon EC2 US West bereitgestellt haben und diese eine gemeinsame Datenbank verwenden, können Sie UTC-Zeitstempel in Ihrer Datenbank und auf Ihren Servern verwenden, ohne sich jedes Mal Gedanken über Zeitzonenumwandlungen machen zu müssen. Dies ist ein guter Grund für die Verwendung von UTC-Zeitstempeln, aber möglicherweise nicht für Sie.
Der zweite Vorteil ist, dass Sie Dinge in Bezug auf die verstrichene Zeit messen können, ohne sich Gedanken über die Sommerzeit machen zu müssen (oder Zeitzonen, wenn Sie die Zeit auf einer Plattform messen, die sich bewegt!). Das kommt nicht sehr hoch, aber wenn Sie eine Situation hatten, in der etwas negative Zeit nahm, weil die lokale Zeit während der Messung um eine Stunde "zurückgefallen" war, wären Sie sehr verwirrt!
Der dritte Grund, den ich mir vorstellen kann, ist sehr gering, aber einige Performance-Geeks würden es wirklich schätzen: Sie können den rohen UTC-Zeitstempel erhalten, ohne jedes Mal ein neues Date-Objekt zuzuweisen, indem Sie die "Now" -Funktion der Date-Klasse verwenden / p> %Vor%
Der Grund ist, dass die Funktion getTime
die Zeit in der UTC zurückgibt Zeitzone:
Der von der getTime-Methode zurückgegebene Wert ist die Anzahl der Millisekunden seit dem 1. Januar 1970 00:00:00 UTC. Mit dieser Methode können Sie einem anderen Date-Objekt ein Datum und eine Uhrzeit zuweisen.
Wenn Sie den UNIX-Zeitstempel in Ihrer aktuellen Zeitzone abrufen möchten, können Sie % co_de verwenden % Methode:
%Vor%Beachten Sie, dass Sie diese Verwirrung vermeiden können, indem Sie ein node.js-Paket wie timezonecomplete oder timezone-js verwenden, deren Oberfläche weniger anfällig für die Manipulation von Datum und Uhrzeit ist.
date
in der Konsole gibt die Serverzeit zurück, während die Verwendung von JavaScript auf einer Webseite die lokale Zeit des Clients zurückgibt.
Tags und Links javascript node.js date timestamp