Javascript的Date.getTimezoneOffset()

Squ*_*eMe 6 javascript

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

Ste*_*eil 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();
Run Code Online (Sandbox Code Playgroud)

  • 并不是疏远任何一个群体都可以,但请注意,北方"世界的一半"占世界人口的90%. (2认同)

jhu*_*man 5

为什么不在您知道夏令时无效的日期调用 getTimezoneOffset 呢?

javascript:alert(new Date('1/1/2009').getTimezoneOffset())
Run Code Online (Sandbox Code Playgroud)

这将提供 300(5 小时)。