为了账号安全,请及时绑定邮箱和手机立即绑定

getFulYear与getYear

为什么用getFullYear输出是2016,用getYear输出是116

正在回答

2 回答

因为getFullYear返回的是当前完整的年份,而getYear返回而是距1900年的偏移量,即当前年份与1900年相差的年数,所以为2016 - 1900 = 116

1 回复 有任何疑惑可以回复我~
#1

clownis

并且getYear方法在不同浏览器中实现不同,会出现兼容性问题。在IE中,会返回当前年份2016,而在FireFox中,则返回与1900年相差的年数116,建议使用getFullYear方法获取年份,如果一定要用getYear方法,可以使用如下代码解决兼容性问题: var myDate = new Date(); var myYear = myDate.getYear(); var myYear = (myYear >= 1900) ? myYear : (myYear + 1900); document.write("当前的年份为" + myYear);
2016-08-29 回复 有任何疑惑可以回复我~
#2

慕粉3875660 提问者

非常感谢!
2016-08-29 回复 有任何疑惑可以回复我~
#3

慕盖茨1034230

距1900年的偏移量是什么鬼?
2019-05-29 回复 有任何疑惑可以回复我~


function a(){
var date = new Date();
var year = date.getFullYear();
var year = date.getFullYear();
   var month = date.getMonth() + 1;
   var strDate = date.getDate();
   if (month >= 1 && month <= 9) {
       month = "0" + month;
   }
   if (strDate >= 0 && strDate <= 9) {
       strDate = "0" + strDate;
   }
alert(year+"年"+month+"月"+strDate+"日");
}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

getFulYear与getYear

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信