如何将格式为“MM / DD / YYYY”的日期输入与Javascript中的Date()
函数进行比较?
例如:
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")
}
答案 0 :(得分:3)
使用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");
}
答案 1 :(得分:2)
谢谢大家!没有发现任何上述工作,但最终让它工作。不得不破解一点;)
我是通过使用getMonth,getDate和getYear拆分Date并对其进行解析然后进行比较来完成的。它正如我想要的那样工作:
Date.parse(document.getElementById("DateId").value) < Date.parse(dateToday.getMonth() + "/" + dateToday.getDate() + "/" + dateToday.getYear())
答案 2 :(得分:1)
查看Date object文档。
您需要一个带有输入日期的Date对象(使用构造函数或setMonth
等方法)和一个具有当前日期的对象(没有构造函数的参数)。然后,您可以使用getTime
在两个对象上获取UNIX时间戳并进行比较。
答案 3 :(得分:0)
看看http://www.datejs.com/。它将帮助您进行标准日期操作
答案 4 :(得分:-3)
function compareDate(inputDateString) {
var inputDate, now;
inputDate = new Date(inputDateString);
now = new Date();
if (inputDate < now) {
console.log("You entered past date");
}
else if (inputDate > now) {
console.log("You entered future date");
}
else if (inputDate === now) {
console.log("You entered present date");
}
else {
console.log("please enter a date");
}
}