使用javascript Date(),与Safari相比,Firefox中的时区不正确

时间:2011-03-06 08:57:52

标签: javascript firefox timezone

以下代码

var date = new Date();
console.log( date );

给了我

Sun Mar 06 2011 21:41:36 GMT+1300 (NZST) {}
在Firefox中

,但

Sun Mar 06 2011 21:40:51 GMT+1300 (NZDT)
Safari中的

(这是正确的)。

我的系统日期&时间设置为NZDT,所以我想知道firefox从哪里获得NZST。请注意,UTC偏移量(+1300)在两种情况下都是正确的。

如何让Firefox显示正确的时区:NZDT?

3 个答案:

答案 0 :(得分:1)

你不应该依赖那个输出,因为它在其他浏览器(IE)中是不同的,你应该使用getTimezoneOffset方法。

var date = new Date;
console.log( date.getTimezoneOffset() );

偏移量会随着日光节省而改变,但有办法解决这个问题。

答案 1 :(得分:0)

如果除了“NZST”之外你想要的一切,你可以做一个简单的文字替换:

console.log(date.toString().replace('NZST', 'NZDT'));

请注意,这实际上只是针对显示问题的简单修复,它没有解决根本原因。

答案 2 :(得分:0)

这是Firefox v4及更高版本中修复的错误。