2016-09-12 4 views
0

Ich habe einen Node.js + MongoDB Server auf OpenShift. Welche Zeitzone muss ich formatieren, um ein Datum mit einem Datum vergleichen zu können, wurde auf dem Server mit var date = new Date() Operation erstellt?Welche Zeitzone benötigt OpenShift um Daten zu vergleichen?

collection.find({'recordType' : recordType, 
       'modificationDate' : $gte : new Date(modificationDate)}}, 
       {fields : {'modificationDate':0}}).toArray(function(err, results) 
+1

Es ist keine gute Idee, sich auf * Server Time * http://stackoverflow.com/questions/13364036/create-javascript-date-utc zu verlassen –

Antwort

1

Nach dem Ihren Gang über ssh verbinden, date in der Konsole ausführen, werden Sie die Zeitzone des Servers erhalten. In meinem Fall ist es EDT.

enter image description here

Aber das ist keine gute Idee, denn wenn Openshift gear hosting location ändert oder sogar entscheiden, Zeitzone zu ändern, kann dies nicht funktionieren. Sie können auch den Hosting-Standort von Gear in einigen kostenpflichtigen Abonnements ändern.

So wäre es besser, Datum-Uhrzeit in UTC in Ihrer Datenbank zu speichern. Sie können auch Client-Zeitzoneninformationen in der Datenbank speichern, damit Sie später die Zeit entsprechend ändern können. Alternativ können Sie die Zeit im UTC-Zeitstempel speichern.

new Date().toISOString() können Sie date-time im UTC-Format geben. new Date() ergibt UTC timestamp in Millisekunden.

Sie können node-time verwenden, um Datum-Uhrzeit nach verschiedenen Zeitzone zu manipulieren.

Verwandte Themen