yyyymmdd - javascript datetime format



Javascript比較兩個日期有所不同 (4)

使用moment.js

moment([2013, 2, 29]).fromNow();

https://ffff65535.com

我試圖比較兩個不同的日期,看看是否輸入日期是在今天的7天后。 我做了一些Google搜索,想出了這個:

function val_date(input){
    var date = new Date(input);
    date = date.getTime() / 1000;
    var timestamp = new Date().getTime() + (7 * 24 * 60 * 60 * 1000)
    window.alert("Date: "+date + " = N_Date: "+timestamp);
    if(timestamp > date || timestamp === date){
        // The selected time is less than 7 days from now
        return false;
    }
    else if(timestamp < date){
    // The selected time is more than 7 days from now
        return true;
    }
    else{
    // -Exact- same timestamps.
        return false;
    }
}

我正在使用一個提醒,以便我可以檢查我的進度,以確保日期不同。 警報的輸出只是說:

日期:NaN = N_Date = 13255772630(< - 或類似的東西)。

有什麼我在這裡做錯了嗎?
不知道是否有幫助,但我的日期格式是DD-MM-YYYY


假設輸入是一個有效的Javascript日期對象,你也許可以嘗試:

function dateDifference(oldDate) {
    var currentDate = new Date();
    var difference = currentDate - oldDate; //unit: milliseconds
    var numDays = 7;
    var threshHoldTime = numDays * (24 * 60 * 60 * 1000); //seven days in milliseconds
    if (difference > threshHoldTime ) {
        console.log("The difference is greateer then then 7 days");
    }
    else {
        console.log("the date is not enough: " + difference);
    }
}

如果你正在比較日期而不想包括時間,你可以使用類似於:

// dateString is format DD-MM-YYYY
function isMoreThan7DaysHence(dateString) {

    // Turn string into a date object at 00:00:00
    var t = dateString.split('-');
    var d0 = new Date(t[2], --t[1], t[0]);

    // Create a date for 7 days hence at 00:00:00
    var d1 = new Date();
    d1.setHours(0, 0, 0, 0);
    d1.setDate(d1.getDate() + 7);

    return d0 >= d1;
}

請注意,今天的日期必須清零。


日期: NaN因為您傳遞給日期創建的字符串不可能創建日期

嘗試

小提琴演示

Date.prototype.addDays = function (days) {
    this.setDate(this.getDate() + days);
    return this;
};

function val_date(input) {
    var inputDate = new Date(input);
    var dateWeek = new Date().addDays(7);
    console.log(inputDate, dateWeek);
    if (inputDate < dateWeek) {
        // The selected time is less than 7 days from now
        return false;
    } else {
        // The selected time is more than 7 days from now
        return true;
    }
}




compare