Javascript Date.getTimezoneOffset()

时间:2009-07-28 15:31:02

标签: javascript

我正在尝试将操作系统的GMT时间偏移与Javascript的Date.getTimezoneOffset()的GMT时间偏移进行比较。问题是windows给出了基于EST的偏移量,而javascript给出了基于EDT的偏移量。这两者之间有一个小时的差异。有谁知道如何使Javascript像Windows一样使用标准时代?谢谢。

2 个答案:

答案 0 :(得分:12)

请注意,第一个发布的答案仅适用于所有案例的一半,因此平均无法正常工作。

众所周知,1月1日不仅仅是在北半球的夏令时。然而,这只是世界的一半。

var jan = new Date( 2009, 0, 1, 2, 0, 0 ), jul = new Date( 2009, 6, 1, 2, 0, 0 );
var offset = ( jan.getTime() % 24 * 60 * 60 * 1000 ) > 
             ( jul.getTime() % 24 * 60 * 60 * 1000 )
             ?jan.getTimezoneOffset() : jul.getTimezoneOffset();

答案 1 :(得分:4)

为什么不在您知道夏令时没有生效的日期调用getTimezoneOffset?

javascript:alert(new Date('1/1/2009').getTimezoneOffset())

这将给出300(5小时)。