2014-03-31 142 views
0

所以我目前在「America/Los_Angeles」時區(PDT),但是當我創建一個新的時刻對象並通過時刻tz將它的時區設置爲一個時區時, ('America/Los_Angeles'),如下所示:瞬間時區不返回正確的時間

moment().tz("America/Los_Angeles"); 

錯誤的時間正在返回。具體來說,它提前8小時。這發生在我嘗試的所有其他時區。

我只是從根本上誤解了這應該如何工作?

感謝您的幫助!

+0

http://stackoverflow.com/questions/15347589/moment-js-format-date-in-a-specific-timezone – pj013

+0

對不起,詢問顯而易見的,但你的電腦的時區設置正確嗎? – sabof

+0

這聽起來像是它返回格林威治標準時間。你確定你已經加入了momentjs.com/timezone嗎? –

回答

1

當我換成你的時刻,timezone.js的副本與一個從the web site,它返回正確的結果。

+0

完全不可思議。那天早些時候我抓到了我原來的那本,但是一定有一些東西沒有。無論如何,非常感謝您的幫助! – iamaracinghorse

+0

沒問題。很高興爲您服務! –

0

您需要使用「zone」,您將它傳遞給GMT

moment().zone(-8) 
+0

這只是另一種完成它的方式。 '.tz'的作品,你只需要包括momentjs.com/timezone。 –

+0

@JonathanM是的,如果你只使用一個時區並且不需要使用大量的時區,這種方式會更有效率。 –

+1

只有當你知道'-8'是當前問題的正確偏移量的事實時,這纔有效。 'America/Los_Angeles'標識美國太平洋時區,它在'-8'和'-7'之間交替。 –