<input type="date" name="bday" id="biday" required>
我必须从用户的输入类型日期字段中取日期,如果输入的日期大于当前日期,我必须在警告框中打印一些错误。我尝试了各种方法,但没有一种方法适用于输入类型日期。我试图采用两个变量存储当前日期,第二个变量采用日期输入元素“
的值var startDate = Date(document.getElementByID('biday').value);
var today = new Date();
if (startDate > today) {
alert("The first date is after the second date!");
`。有人请帮助我完成任务的程序。
答案 0 :(得分:0)
你在getElementByID
得到一个小错误它应该是getElementById
此外,可以将日期字符串作为MYSQL格式'YYYY-MM-DD'
进行比较,这样您就可以将两个值直接比较为字符串。
'2017-12-1' < '2017-12-3'
// true
如果您使用其他格式操作,您可以创建一个新的Date对象并将其解析为TimeStamp,如下所示:
// Receives a date String or Object
// and returns the aprox TimeStamp
function valueifyDate(date){
if(typeof date == 'object'){
return date.getTime();
}else{
return new Date(date).getTime();
}
}
var bday = document.getElementById('birthday');
bday.addEventListener("change", function(e){
var today = new Date();
if(valueifyDate(today) < valueifyDate(e.target.value)){
console.log("younger than today");
}
})
答案 1 :(得分:0)
这是另一种方式。
<强> HTML 强>
<input type="date" id="dval" value="" />
<button onclick="test()">TEsting</button>
<强> JS 强>
function test() {
var q = new Date();
var date = new Date(q.getFullYear(),q.getMonth(),q.getDate());
var mydate = new Date(document.getElementById('dval').value);
if(date > mydate) {
alert("Current Date is Greater THan the User Date");
} else {
alert("Current Date is Less than the User Date");
}
}
注意:Firefox或Internet Explorer 11及更早版本不支持 type="date"
。
答案 2 :(得分:0)
要检查startDate
中是否有日期,最好使用Date.parse(在Date
构造函数中隐式使用)并比较检查NaN
是否today.getTime()
。如前所述,您需要使用startDate
获取与时间对应的数值。然后,您可以比较已解析的today.getTime()
和getElementById
。此外,它应该是getElementByID
而不是function compareDates() {
var startDate = Date.parse(document.getElementById('biday').value);
var today = new Date();
if (!isNaN(startDate) && startDate > today.getTime()) {
alert("The first date is after the second date!");
}
}
。请参阅以下更正的代码:
<input type="date" name="bday" id="biday" required onchange='compareDates()'>
mu, sigma = df.mean(), df.std()
#get mask of NaNs
a = df[0].isnull()
#get random values by sum ot Trues, processes like 1
norm_dist = np.random.normal(mu, sigma, a.sum())
print (norm_dist)
[ 184.90581318 364.89367364 181.46335348]
#assign values by mask
df.loc[a, 0] = norm_dist
print (df)
0
0 343.000000
1 483.000000
2 101.000000
3 184.905813
4 364.893674
5 181.463353
答案 3 :(得分:-1)
您的代码有很多错误,例如getElementByID
应为getElementById
,而您没有从输入中获取value
,依此类推。请查看下面的代码段以供参考。
function checkDate() {
var startDate = new Date(document.getElementById('biday').value);
var today = new Date();
if (startDate.getTime() > today.getTime()) {
alert("The first date is after the second date!");
}
}
&#13;
<input type="date" name="bday" id="biday" required>
<input type="submit" value="check" onclick="checkDate()">
&#13;