我尝试了很多方法来使用Javascript函数验证日期和时间,但似乎没有任何方法可行。我想提醒用户他们的日期输入是过去的日期,而时间开始不能与时间结束相同,它不能晚于时间结束。 我的HTML代码:
<p>
<label> Date:
<input type="date" id="date" name="date" required />
</label>
</p>
<p>
<label> Time start:
<input type="time" id="timeStart" name="timeStart" required />
</label>
</p>
<p>
<label> Time end:
<input type="time" id="timeEnd" name="timeEnd" required />
</label>
</p>
Javascript我试过了:
function valiDate(date) {
var today=new Date();
var inputDate=document.getElementById("date").value;
if (inputDate < today) {
alert("Your event cannot happen in the past.");
}
}
function checkDate(date)
{
var dateInput=document.getElementById("date").value;
var parts=date.split("/");
var yearInput=parts[0];
var monthInput=parts[2];
var dayInput=parts[3];
var minYear = 1902;
var maxYear = (new Date()).getFullYear();
var maxMonth = (new Date()).getMonth();
var currentDay = (new Date()).getDate();
if (yearInput<maxYear || monthInput<maxMonth || dayInput<currentDay ) {
alert("Event cannot be held in the past. Move on.");
}
}
答案 0 :(得分:0)
用于比较日期的方法是错误的。
d1.getTime() === d2.getTime();
d1.getTime() !== d2.getTime();
使用getTime()运算符或dates.compare()函数。 如果您想分割日期,请使用&#39; - &#39;拆分他们。
这是一个有效的jsFiddle: https://jsfiddle.net/BoyWithSilverWings/rc08otjc/
答案 1 :(得分:0)
请试试这个
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/images'));