与Safari相比,Firefox中使用javascript Date()的时区不正确
下面的代码与Safari相比,Firefox中使用javascript Date()的时区不正确,javascript,firefox,timezone,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)在这两种情况下都是正确的 如何让Firefo
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?如果除了“NZST”之外,一切都是您想要的,您只需做一个简单的文本替换:
console.log(date.toString().replace('NZST', 'NZDT'));
请注意,这实际上只是对显示问题的简单修复,并没有解决根本原因。您不应该依赖该输出,因为它在其他浏览器(IE)中不同,而应该使用getTimezoneOffset方法
var date = new Date;
console.log( date.getTimezoneOffset() );
偏移量将随着日光节约而改变,但有办法解决这个问题。这是一个在Firefox v4和更高版本中修复的错误。看起来像是一个标签错误,尽管这是一个非常恼人的错误。这个错误似乎已在Firefox 4中修复;我在3.6中得到了不正确的时区,但在4.0 beta 12中没有。你真的应该使用jquery,因为你不会得到这个error@Carnotaurus:我确实使用jQuery,但不用于日期。如何使用它来阻止这一错误?在新西兰真正进入NZST的一年中,它是不正确的。我正在以正确答案的形式重新表述另一条评论。