2017-07-20 18 views
0

ich interessantes Problem gestoßen:MomentJS bekommt verschiedene UNIX timetsamps auf verschiedene Plattformen

Ich habe einen timetsamp mit Wert 1500400800

Ich mag staart des Tages und am Ende des Tages des Zeitstempels erhalten. Durch moment.js Verwendung habe ich diesen Code geschrieben:

let timestamp = 1500400800; 
let momentDate = moment.unix(timestamp); 

let start = momentDate.startOf('day').unix(); 
let end = momentDate.endOf('day').unix(); 
console.log(timestamp + " " + start + " " + end); 

Meine eigenen PC kehrt für 1500400800 diese Werte:

1500400800 1500400800 1500487199 

Aber virutal Maschine in meinem Hosting gibt diese:

1500400800 1500336000 1500422399 

Sie sind anders. Es gibt sechs Stunden Unterschied zwischen zwei Plattformen.

Wie machen virtuelle Host-Maschine Zeitstempel wie mein lokaler PC bekommt?

+2

Keine Ahnung, wie momentjs funktioniert, aber Sie müssen wahrscheinlich die Zeitzone einstellen. Mehr dazu hier: https://momentjs.com/timezone/ – icecub

Antwort

2

Moment nimmt Zeit relativ zur Zeit des lokalen Systems an. Ihr virtueller Server hat entweder eine falsche Uhr oder befindet sich in einer anderen Zeitzone. Sie können entweder ausschließlich in UTC arbeiten, indem Sie den Moment angeben, um in UTC zu konvertieren, oder Sie schauen in moment-timezone, eine Erweiterung des Moments, die speziell für die Arbeit in mehreren Zeitzonen entwickelt wurde.

Verwandte Themen