显然,javascript日期对象的方法getYear()在IE8和Firefox3.6之间返回不同的结果(我的机器上有那两个,不确定其他浏览器或版本)
Date d = new Date();
alert(d.getYear());
FF3.6 ==> 111 (year since 1900? i guess)
IE8 ===> 2011
我仅在Firefox上进行过测试,现在由于我的编码,用于调整getYear()返回值的Javascript代码现在给了我3911。
var modified = d.getYear() + 1900
在Firefox上,它返回2011。但是,如果我在IE8上应用此方法,则它将返回3911。
我可以添加逻辑来区分IE和Firefox,但我不想在代码中的任何地方(例如与浏览器相关的部分)添加if/else。还有其他方法可以解决此问题吗?
var browserName=navigator.appName;
if (browserName=="Netscape") {
var modified = d.getYear() + 1900
}
else if(browserName=="Microsoft Internet Explorer") {
var modified = d.getYear();
}
最佳答案
使用 getFullYear()
而不是getYear()
。