其实早就遇到过这个问题。用js中的getYear()函数获取当前日期中的年份时,在IE浏览器中正常,在FireFox浏览器中发现返回的年份是类似于“113”字样的日期,这明显是兼容性问题。
有人说是因为有些浏览器默认返回当前年份-1900的值,不知为何。解决方案:
1、判断对比法:通过将返回值与1900对比大小,决定是否加上1900。
var now = new Date();
var year = ( now.getYear() < 1900 ) ? ( 1900 + now.getYear() ) : now.getYear();
document.write(year);
2、使用新的年份获取函数:getFullYear()。
var now = new Date();
var year = now.getFullYear();
document.write(year);
对比可知,建议使用第二种兼容性方案。