簡體   English   中英

比較JS中的兩個日期

[英]Compare two dates in JS

我想將用戶的生日與今天的日期進行比較,並獲得介於兩者之間的天數。 他們輸入的生日將以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;
}

而不是使用“聖誕節”我想比較element.value ...我該怎么做?

當我把difference = today - element.value它不會告訴我差異。 警報框出現為NaN

我寫了一個名為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'); 

http://momentjs.com/docs/#/displaying/difference/

您需要先將element.value解析為日期:

difference = today - new Date(element.value);

http://jsfiddle.net/gilly3/3DKfy/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM