使用var years = new Date().setFullYear(new Date().getFullYear())
时,我得到一个13位数的回报。 (1521150199880
)
整个代码块如下:
function changeYear(value) {
var years = new Date().setFullYear(new Date().getFullYear());
alert(years)
if (value < 0) {
year1 = year1 - 1;
document.getElementById("barText").innerHTML = years;
} else if(value > 0) {
years = years + 1;
document.getElementById("barText").innerHTML = years;
} else {
alert("Error!");
}
}
如果函数的value
输入为负数,则程序减去1,而对于任何其他情况,该程序相反(除非value
输入= = 0,显然)
有人看到了这个问题吗?我还试过exchanginf .getFullYear()
而.getYear()
没有运气:/
答案 0 :(得分:4)
setFullYear()返回 1970年1月1日00:00:00 UTC与更新日期之间的毫秒数。
让您的代码正常工作
替换此行
var years = new Date().setFullYear(new Date().getFullYear());
用这个
var years = new Date(new Date().setFullYear(new Date().getFullYear())).getFullYear(); //as you want year from here
我不知道你为什么这样做,因为new Date(new Date().setFullYear(new Date().getFullYear())).getFullYear()
等于new Date().getFullYear()
。所以你也可以这样做
var years = new Date().getFullYear();
答案 1 :(得分:1)
Date对象的值是自1970年1月1日午夜以来的毫秒数。
替换此行
var years = new Date().setFullYear(new Date().getFullYear());
用这个
var years = new Date(new Date().setFullYear(new Date().getFullYear()));