2011-09-07 56 views
4

我有一個應用程序需要使用東部時間計算的某個部分而不是當地時間。我想這可以全部手動完成(提取UTC時間,通過查表來確定夏時制是否有效,然後根據情況適當調整4或5小時),但是我想知道是否有內置的方法來做到這一點。在ET中查找當前時間:EST或EDT,如適用

另外,最近美國的DST沒有變化嗎? (我需要遵守美國夏時制的規定。)我想知道這些是否合併到JavaScript發行版中,是否遵循舊規則,或者它們從來不知道它們。

回答

1

耐受方法:

var d, lsm, lso, off; 
d = lsm = lso = new Date; 
var off = d.getTimezoneOffset(); 
lsm.setMonth(2); 
lsm.setDate(11); 
lsm.setDate(11-lsm.getDay()); 
lso.setMonth(10); 
lso.setDate(4); 
lso.setDate(4-lso.getDay()); 
d.setMinutes(d.getMinutes()+off-(d < lsm || d >= lso ? 300 : 240)); 
// d contains the ET date 
+1

讓人驚訝。如果有一些*重用內置知識,而不是硬編碼這些日期和偏移量,它肯定會很好。 =) –

+0

@AseemKishore:你我都。 – Charles

相關問題