Javascript中getYear()和getFullYear()的区别

敲小例子发现getYear()方法返回值不正确。明明是2016年,却显示是116。查了一下,原来是这个方法已经过时了。但是为什么返回值不正确呢?

老说法:getYear()方法 — 返回表示年份的两位或四位数字.

语法为:dateObject.getYear()

对于1900-1999这段时间而言,返回的年份值是一个两位数字的整数,它代表了所保存的年份与1900 年之间的差距。

IE浏览器进行过修正,可以显示正常。其他浏览器上,1900年以后的年份,返回的是与1900年的差距。如今年是2016年,那么在IE中返回的是2016,其他浏览器则为116。

var now = new Date();  
alert(now.getYear());   //IE输出2016,Firefox、Chrome、搜狗等浏览器输出116
getYear() 已经被逐渐废弃并不再推荐使用,而是用 getFullYear() 方法代替。

getFullYear() 解决问题

getFullYear() 方法可返回一个表示年份的 4 位数字,就是指当前年份

语法:dateObject.getFullYear();

var now = new Date();  
alert(now.getFullYear());

这回输出的就是2016了。不管什么浏览器都没有问题了。

类似问题

类似getYear() 这样被淘汰的方法,还有 setYear() 用 setFullYear() 代替。

详细解释参照:http://www.w3school.com.cn/js/jsref_setYear.asp



原文链接:HelloWeb前端网 » Javascript中getYear()和getFullYear()的区别 » 感谢您的浏览,希望能有所帮助。

欢迎您加入“Helloweb” 学习交流群:HelloWeb-学习交流群 196291215 共同交流并结识同行,在这里说出您的收获与感想或有什么不同的观点,我们期待您的留言,分享,让我们一起进步!

喜欢 ()or分享