Big*_*Bug 14 html javascript forms date
我想将用户的生日与今天的日期进行比较,并获得介于两者之间的天数.他们输入的生日将以12/02/1987的形式出现在文本类型的输入框中
在我的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;
}
Run Code Online (Sandbox Code Playgroud)
而不是使用"圣诞节",我想比较element.value
......我该怎么做?
当我difference = today - element.value
说它不会告诉我差异.警报框出现NaN
.
tim*_*ood 142
我写了一个名为Moment.js的轻量级日期库来处理这样的东西.
var birthday = moment('12/02/1987', 'MM-DD-YYYY');
var inputDate = moment(element.value, 'MM-DD-YYYY');
var diff = birthday.diff(inputDate, 'days');
Run Code Online (Sandbox Code Playgroud)
http://momentjs.com/docs/#/displaying/difference/
gil*_*ly3 12
您需要先解析element.value
为日期:
difference = today - new Date(element.value);
Run Code Online (Sandbox Code Playgroud)
http://jsfiddle.net/gilly3/3DKfy/