javascript date getYear() 在 IE 和 Firefox 之间返回不同的结果,如何解决这个问题?

2024-03-24

显然,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();
}

Use getFullYear() https://www.w3schools.com/jsref/jsref_getfullyear.asp代替getYear().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript date getYear() 在 IE 和 Firefox 之间返回不同的结果,如何解决这个问题? 的相关文章

随机推荐