2007年之前的Windows Browser DST Bug

时间:2012-01-04 00:22:25

标签: javascript windows dst

Windows浏览器(IE,Chrome,Firefox)不遵守2007年之前日期的旧美国夏令时规则。使用设置为东部时间的计算机,以下javascript调用返回的时间不正确:

(new Date("03/15/1993")).toGMTString();

返回:

Mon, 15 Mar 1993 04:00:00 GMT <-- Incorrect

应该是:

Mon, 15 Mar 1993 05:00:00 GMT <-- Correct

适用于OSX的Chrome和Firefox会返回正确的值,因此浏览器进行Windows API调用似乎存在问题。

DST规则更改为:
- 2007年之前:4月1日星期日至10月最后一个星期日
- 2007年之后:3月的第2个星期日至11月的第1个星期日

似乎Windows正在应用2007年之前的日期的当前规则。在我的情况下,我有一个Javascript框架,使用完整的GMT时间与我们的服务器端(Java)框架进行通信。 Java正在应用CORRECT规则,因此在上述日期的情况下,服务器正在解释1993年3月14日错误提交的时间。

OSX中所有浏览器的相同提交工作正常。

有没有人经历过这样的事情或知道任何解决方法?

0 个答案:

没有答案