2015-02-24 115 views
1

我有如下的開始和結束日期,時區轉換

開始日期: 「2015-02-19T00:00:00-08:00」

結束日期:「2015-02 -19T17:00:00-08:00"

正如你看到的日期格式是在PST所以日期爲PST時區,我使用如下面的代碼片段精細,

moment(StartDate).format("MMM Do"); 

但當我在IST [印度標準時間]中查看同一頁面時,顯示如下,

開始日期:「2月19日」 結束日期:「2月20日」

請幫我出這一點,讓我知道是有什麼我失蹤。提前致謝。

+1

哪個IST?印度,愛爾蘭,以色列? – 2015-02-24 17:28:18

回答

2

這些都是你的原始值:

Start Date: "2015-02-19T00:00:00-08:00" 
End Date: "2015-02-19T17:00:00-08:00" 

這些都是UTC中的等效值:

Start Date: "2015-02-19T08:00:00+00:00" 
End Date: "2015-02-20T01:00:00+00:00" 

這些都是在印度標準時間等效值:

Start Date: "2015-02-19T13:30:00+05:30" 
End Date: "2015-02-20T06:30:00+05:30" 

這是正常現象,調整時間的時區時,預期的行爲。全球兩個不同的職位不一定總是遵守同一日曆日期。

有關時區的詳細信息,我建議以下資源:

至於moment.js,如果你只是說你想要的原始值被保留(不考慮用戶的時區),然後使用parseZone功能。

moment.parseZone(StartDate).format("MMM Do"); 
1

您可以用moment timezone

moment(StartDate).tz('America/Denver').format("MMM Do"); 

或任何其他城市在PST-區使之沒有問題......

+1

丹佛是山區時間。 :) – 2015-02-25 04:12:53