【发布时间】:2011-12-20 18:31:25
【问题描述】:
我想将用户的生日与今天的日期进行比较,并获取两者之间的天数。他们输入的生日将以 12/02/1987 的形式在 text
类型的输入框中输入在我的 JS 文件中,我的代码如下所示:
function validateDOB(element) {
var valid = false;
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //do that January is NOT represented by 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
var today = mm + '/' + dd + '/' + yyyy;
alert(today);
if (element.value != today) {
var days = 0;
var difference = 0;
Christmas = new Date("December 25, 2011");
today = new Date();
difference = today - Christmas
days = Math.round(difference / (1000 * 60 * 60 * 24)-1);
alert(days);
valid = true;
}
我想比较element.value而不是使用“圣诞节”...我该怎么做?
当我输入difference = today - element.value 时,它不会向我显示差异。警报框显示为NaN。
【问题讨论】:
-
@widor 不,我的 Q 是特定的......
-
你的问题很具体,是的,但是这个问题回答了它。
-
@Blender - 真正的问题(尽管它的标题)似乎是“为什么
difference = today - element.value返回NaN?”。链接的问题试图确定一个日期是否大于、小于或等于另一个日期。这个问题是关于确定两个日期之间的天数。日期比较已在此处正确完成,因此答案并没有真正帮助。真正的答案是在比较之前将字符串解析为日期。
标签: javascript html forms date