又是这两天在项目中遇到的,或许很简单,但真实第一次遇到,记录一下。
在页面上用JS获取了一下当前的日期,并用getYear()方法返回了当前的年度,2013也没问题,代码在IE中都测试通过了之后就提交了。然后同事很快就告诉我年度显示的不对,显示的是113。我很诧异,试了一下还是没问题,然后就去同事那里扫了一眼,发现他用的是chrome,我马上意识到是浏览器兼容的问题了。
google了一下,问题简单明了。
getYear函数语法
date
.
getYear
(
)
;
getYear函数返回值
- 返回date对象的年份(真实年份减去1900)
- 但是此函数在浏览器中的返回值是有差异的(浏览器实现此函数的方式不同)
在Firefox与谷歌Chrome浏览器
- 返回实际年份减去1900的数值
- 引用网址:http://www.dreamdu.com/javascript/date.getYear/
在IE与Opera浏览器
- 如果当前年份为1900-1999,函数将返回减去1900的数值,此数值为两位
- 其它的年份,函数将返回四位年份
- 例如如果当前是1980年,函数返回80;如果当前是2008年,函数返回2008
getYear函数说明
ECMAScript新的标准反对使用此函数,应使用getFullYear()取而代之。