如何在if语句中将日期输入与硬编码日期进行比较?

时间:2019-03-25 21:02:26

标签: javascript

我正在创建一个Web表单,用户输入一个日期,我想将其与日期进行比较以显示在其他位置打印的可用性,“显示日期是用户输入的内容,而“ 2019-05-21”是我想比较的数据。

if (document.getElementById("showDate").value === 2019-05-21 && document.getElementById("selection").value === "Les Miserables")
{
    document.getElementById("displayAva").innerHTML = "65 tickets left";
}

1 个答案:

答案 0 :(得分:2)

2019-05-21不是日期。

只需运行以下代码:

console.log(2019-05-21)

输出为1993,您正在执行数学运算。相反,您应该使用字符串或Date

我不知道document.getElementById("showDate").value的值是什么,但是如果它是字符串,则可以简单地做到:

document.getElementById("showDate").value == "2019-05-21"

那样,您将比较两个字符串。如果showDate.value正好是"2019-05-21",它将返回true。

您可以使用Date

Date.parse(document.getElementById("showDate").value) == Date.parse("2019-05-21")

或者如果其他值已经是Date

document.getElementById("showDate").value.getTime() == Date.parse("2019-05-21")

或者:

document.getElementById("showDate").value.toUTCString() == new Date("2019-05-21").toTimeString()

它们只是比较方式,使用最适合自己的方式。