2016-03-30 4 views
2

Ich habe die folgende Zeichenfolge, die ich implizit wissen, ist in UTC Zeitzone: 2008-03-09 18:02:29Wie kann ich einen UTC-Zeitstring in das richtige moment.js-Objekt in meiner lokalen Zeitzone konvertieren?

Wie kann ich moment.js es in meinem lokalen Zeitzone zu einem Objekt konvertieren?

habe ich versucht, die folgenden aber die Zeit für meine lokale Zeitzone nicht einstellen:

> moment("2008-03-09 18:02:29 UTC").format('YYYY-MM-DD HH:mm:ss zz') 
"2008-03-09 18:02:29" 

PS. Ich lebe in der Nähe von Washington DC (UTC -4). Aber das muss für jeden Benutzer von überall auf der Welt ordnungsgemäß funktionieren.

Ich kann es ohne moment.js wie dies tun (aber es funktioniert nur in Chrome, nicht FF):

new Date('2008-03-09 18:02:29 UTC'); 

Was ist also der moment.js Code dies analog ??

+1

Haben Sie das versucht http://stackoverflow.com/questions/29220467/how-to-convert-moment-js-date-to-user-local-timezone?rq=1 – Jasen

Antwort

5

Sie wissen, dass Sie ein UTC-Datum, so dass Sie gehen zu wollen, in UTC-Modus zu analysieren. Verwenden Sie danach die .local()-Funktion von Moment, um zu der Zeit des aktuellen Benutzers zurückzukehren.

moment.utc('2008-03-09 18:02:29').local().format() 
"2008-03-09T13:02:29-05:00" 

Ich bin in -5, und wie Sie sehen können, wurde das Datum wieder 5 Stunden geschoben.

+0

Maggie Pint hat die richtige Antwort, wie es scheint. Beachten Sie jedoch, dass das Ergebnis überraschend sein kann. Ich lebe in der Schweiz und wir haben letzten Sonntag (27. März) auf Sommerzeit umgestellt, also leben wir jetzt in UTC + 2. Aber das Ergebnis von Maggies Code auf meinem Computer ist '2008-03-09T19: 02: 29 + 01: 00'. Aber das ist richtig, denn zu diesem Zeitpunkt waren wir in UTC + 1. – nico

0

Mit Moment Zeitzone

moment("2008-03-09 18:02:29 UTC").tz('America/New_York'); // => EST 
+0

FYI, ich lebe in Washington, aber jemand anders, der auf diese Website zugreift, kann irgendwo auf der Welt leben. Wie kann ich es in die lokale Zeit für diesen Browser konvertieren? (Entschuldigung, wenn ich in der ursprünglichen Frage unklar war). Ich suche nach etwas, das zu "new Date" (2008-03-09 18:02:29 UTC ') analog ist; ' –