验证日期是否在当前日期之前

Joh*_*ohn 23 javascript date

使用这个功能,我有7天的差异; 如何测试日期是否在当前日期之前?

function validateDate() {
    pickedDate = Date.parse("05-Jul-2012".replace(/-/g, " "));
    todaysDate = new Date();
    todaysDate.setHours(0, 0, 0, 0);
    dateDifference = Math.abs(Number(todaysDate) - pickedDate);
    //7 Days=604800000ms
    if (dateDifference > 604800000) {
        return false;
    } else {
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

Hem*_*lia 38

您可以直接将两个日期进行比较

return pickedDate <= todaysDate
Run Code Online (Sandbox Code Playgroud)

对于考虑毫秒的精确日期比较,您可以使用 JavaScript getMilliseconds()方法

你可以像你一样解析日期:

pickedDatestr = "09-Apr-2010"
var pickedDate = new Date(Date.parse(pickedDatestr.replace(/-/g, " ")))
Run Code Online (Sandbox Code Playgroud)


Chr*_*ler 7

对于日期比较(无时间):

function isDateBeforeToday(date) {
    return new Date(date.toDateString()) < new Date(new Date().toDateString());
}

isDateBeforeToday(new Date(2016, 11, 16));
Run Code Online (Sandbox Code Playgroud)

测试用例:

// yesterday
isDateBeforeToday(new Date(2018, 12, 20)); // => true

// today
isDateBeforeToday(new Date(2018, 12, 21)); // => false

// tomorrow
isDateBeforeToday(new Date(2018, 12, 22)); // => false
Run Code Online (Sandbox Code Playgroud)


Fil*_*vic 6

我提出这个问题是因为我试图检查从后端获取的 Java.util.Date 是否在今天的日期之后。

最后我找到了一个非常简单的解决方案 - 通过比较毫秒,如下所示:

  isAfterNow(date) {
    return new Date(date).valueOf() > new Date().valueOf();
  }
Run Code Online (Sandbox Code Playgroud)

该函数valueOf()记录在此处


小智 5

new Date() > new Date('2022-01-24')
Run Code Online (Sandbox Code Playgroud)

就我而言,我不关心时间。