I'm trying to compare a GMT time offset from the operating system to a GMT time offset from Javascript's Date.getTimezoneOffset(). The problem is windows gives an offset based on EST while javascript gives an offset based on EDT. There is an hour difference between these two. Does anyone know how to make Javascript use the Standard Times like Windows? Thank you.
+3
A:
Why not call getTimezoneOffset on a date where you know daylight saving time is not in force?
javascript:alert(new Date('1/1/2009').getTimezoneOffset())
That will give 300 (5 hours).
jhurshman
2009-07-28 15:46:21
Thanks for the help!
SquidScareMe
2009-07-28 20:18:08
+2
A:
Note, that the first posted answer does only work in a half of all cases, thus not work at all on average.
First january is known not to be in daylight saving time only in the northern hemisphere. However that's only half of the world.
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();
Steffen Heil
2009-11-11 07:34:24