【发布时间】:2014-10-19 18:36:26
【问题描述】:
我试图计算距离特定日期的剩余天数。我知道有上百万种不同的方法和教程,但我想自己写一个代码。问题是函数的输出是“NaN”。非常感谢您的帮助。
这是我的代码:
var daysLeft = function(input) {
var num = '';
var date = [];
var x = 0;
for (i = 0; i < input.length; i++) {
if (!isNaN(input.charAt(i))) {
num += input.charAt(i);
}
else {
date[x] = parseInt(num, 10);
x++;
}
}
var inputDate = new Date(date[2], date[1], date[0]);
var today = new Date();
var timeDiff = Math.abs(inputDate.getTime() - today.getTime());
return Math.ceil(timeDiff / (1000*3600*24));
};
daysLeft("11.12.2014");
顺便说一句:我编写了这段代码,因为 Date() 函数适用于美国格式的日期 (MM/dd/YYYY),而不适用于 UTC 日期。我也知道有 Date.UTC() 函数,但无论如何。我只是想自己转过几个月和几天。
【问题讨论】:
-
插入
console.log(date);' afterfor`循环并在此处发布输出 -
输出为 1,101,输入为“01.01.2015”
标签: javascript date days