2014-09-10 57 views
1

任何人都知道如何指定一個城市來計算Moment.js中的DST?如何指定Moment.js的城市?

因爲在巴西一些城市改變了DST規則,所以我不能使用detault TimeZone來計算它。

我的工作是得到一個日期和一個城市,用戶選擇,我需要計算出UTC日期。我打算爲所有國家做,但在巴西我知道這個問題,所以我想知道是否有辦法做到這一點。

回答

1

您將需要moment-timezone插件。

例如:

moment.tz("2014-10-01 12:00:00", "America/Sao_Paulo").utc().format("YYYY-MM-DD HH:mm:ss") 

或者:

moment.tz("2014-10-01 12:00:00", "America/Sao_Paulo").toISOString() 

請記住,巴西有多個時區。要求「巴西時間」無效 - 您必須知道,其中在巴西得到準確答案。 This Wikipedia entry詳細描述了巴西的時區,並有一張表格列出了相應的TZ標識符。

此外,請確保您提供日期和時間 - 不只是日期。否則,轉換爲UTC毫無意義。

+0

馬特,我的問題是德國的DST在巴西改變很多。來自同一TZ的一年中的同一州在另一個州的DST中沒有DST:S – thur 2014-09-12 19:29:07

+0

這正是您需要指定正確時區標識符的原因。這些差異在數據中表示。 – 2014-09-12 20:28:29