2016-04-08 30 views
0

有沒有辦法使用moment.js或moment-timezone來設置時區,以反映「America/New_York」,無論用戶從哪裏訪問應用程序?如何將時區設置爲'America/New_York'而不管瀏覽器時區? (moment.js)

我試過這個,但對象的時區反映瀏覽器的時區並返回America/Los_Angeles。

moment.tz("8/26/2013 4:55 pm", "M/D/YYYY h:mm a", "America/New_York") 
+0

你的語法在這裏完全沒問題。當我運行它時,它會生成一個具有-4偏移量的日期,這是正確的。當你說'對象的時區'時,你在看什麼屬性? –

+1

檢查調試控制檯。您是否收到「Moment Timezone沒有America/New_York數據」錯誤?如果是這樣,你沒有加載tz數據。 [見這裏](http://stackoverflow.com/a/33263885/634824)。 –

回答

1

如這裏指出,

Moment.js docs

您需要包括時區模塊,並使用它像這樣:

moment("8/26/2013 4:55 pm", "M/D/YYYY h:mm a").tz("America/New_York").format(); 
1

要更改默認的時區,使用moment.tz.setDefault與有效時區:

moment.tz.setDefault("America/New_York"); 

moment.js documentation

+0

會創建一個新的時刻對象,然後在默認時區下創建?如果我的電腦設置爲太平洋時區 – anm

+0

yes,新的時刻對象將使用默認時區創建,您可以在'moment.tz.setDefault(...')中設置它。 – alexmac