如何将"MM/DD/YYYY"日期与Javascript中的Date()函数进行比较?

use*_*468 5 javascript

如何将格式"MM/DD/YYYY"的日期输入与Date()Javascript中的函数进行比较?

例如:

if (InputDate < TodaysDate){
  alert("You entered past date")
}
else if (InputDate > TodaysDate){
  alert("You entered future date")
}
else if (InputDate = TodaysDate){
  alert("You entered present date")
}
else{
  alert("please enter a date")
}
Run Code Online (Sandbox Code Playgroud)

gil*_*ly3 5

使用 将字符串转换为日期new Date(dateString)。然后使用 规范化今天的日期以省略时间信息today.setHours(0, 0, 0, 0)。然后你可以像上面一样比较日期:

var date = new Date(dateInput);
if (isNaN(date)) {
    alert("please enter a date");
}
else {
    var today = new Date();
    today.setHours(0, 0, 0, 0);
    date.setHours(0, 0, 0, 0);
    var dateTense = "present";
    if (date < today) {
        dateTense = "past";
    }
    else if (date > today) {
        dateTense = "future";
    }
    alert("You entered a " + dateTense + " date");
}
Run Code Online (Sandbox Code Playgroud)

演示: http : //jsfiddle.net/w2sJd/


use*_*468 1

谢谢大家!没有找到上述任何一个工作,但终于让它工作了。不得不破解一点;)

我通过使用 getMonth、getDate 和 getYear 分割日期并解析它然后进行比较来做到这一点。它按照我想要的方式工作:

Date.parse(document.getElementById("DateId").value) < Date.parse(dateToday.getMonth() + "/" + dateToday.getDate() + "/" + dateToday.getYear())
Run Code Online (Sandbox Code Playgroud)