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