Javascript比较两个日期以获得差异

标签 javascript date timestamp compare

我正在尝试比较两个不同的日期,以查看输入的日期是否在今天日期的 7 天之后。我做了一些谷歌搜索并想出了这个:

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;
    }
}

我正在使用提醒,以便我可以检查我的进度以确保日期不同。警报的输出只是说:

Date: NaN = N_Date = 13255772630 (<- or something like that).

我这里有什么地方做错了吗?
不确定是否有帮助,但我的日期格式是 DD-MM-YYYY

最佳答案

如果你正在比较日期并且不想包括时间,你可以使用类似的东西:

// 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;
}

请注意,今天日期的小时数必须归零。

关于Javascript比较两个日期以获得差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162435/

相关文章:

java - Java中的时间测量开销

javascript - @Input 或服务在组件中不起作用

java - 如何使用 openNLP 检测日期

尝试将 Json 响应转换为日期时出现 Java ParseException

validation - 日期值: when entered 00/00/0000 saves as 11/30/0002

datetime - 在 Lua 中获取 UTC UNIX 时间戳

Python 的 fromtimestamp 在不同的机器上返回不一致的结果

javascript - 在 Java 脚本的增量循环中递增并重复数字 3 次

javascript - 非军事格式的日期范围选择器

JavaScript 正则表达式与预期相反