将可变日期与 if/else 语句中的 Date(dateString) 进行比较
Compare variable date with Date(dateString) in if/else statement
抱歉 n00b 问题,但我的 js/jq 很糟糕。我花了我下午的大部分时间,但我仍然无法弄清楚最后一点。
我需要输入一个日期,计算从输入日期起 180 天的日期,并将其与 dateString(在下面的代码中标记为 'deadline')进行比较。一切正常,除了最后的 if/else 语句。我觉得这是一个简单的修复,但我看不到它。目前只是输出else语句的结果。
HTML
<h2>click Go! to add 180 days:</h2>
<p>Add 180 to:
<input id="indexDate" type="text" />
<input type="button" onclick="getdate()" value="Go!" />
<p>Result Date:
<span id="date_180"></span>
<span id="answer"></span></p>
JS/JQ
$(document).ready(function () {
$('#indexDate').datepicker({changeYear: true}).datepicker('setDate', '01/01/2004');
});
function getdate() {
var tt = document.getElementById('indexDate').value;
var date = new Date(tt);
var newdate = new Date(date);
var deadline = new Date(11/03/2014);
newdate.setDate(newdate.getDate() + 180);
var dd = newdate.getDate();
var mm = newdate.getMonth() + 1;
var y = newdate.getFullYear();
var formattedDate = mm + '/' + dd + '/' + y;
document.getElementById('date_180').innerHTML = formattedDate;
if (formattedDate<deadline) {
document.getElementById("answer").innerHTML = "Yay!";
} else {
document.getElementById("answer").innerHTML = "Boo!";
}
}
在你的 if 条件下试试这个
if(new Date(formattedDate) < deadline){
document.getElementById("answer").innerHTML = "Yay!";
} else {
document.getElementById("answer").innerHTML = "Boo!";
}
如果不起作用尝试格式化日期喜欢
var formattedDate = new Date(Year,Month,Day);//Date object
ref
我认为这是日期格式的问题。
添加
console.log(deadline);
console.log(formattedDate);
在 if 块之前并在控制台中查看。它说什么?
抱歉 n00b 问题,但我的 js/jq 很糟糕。我花了我下午的大部分时间,但我仍然无法弄清楚最后一点。
我需要输入一个日期,计算从输入日期起 180 天的日期,并将其与 dateString(在下面的代码中标记为 'deadline')进行比较。一切正常,除了最后的 if/else 语句。我觉得这是一个简单的修复,但我看不到它。目前只是输出else语句的结果。
HTML
<h2>click Go! to add 180 days:</h2>
<p>Add 180 to:
<input id="indexDate" type="text" />
<input type="button" onclick="getdate()" value="Go!" />
<p>Result Date:
<span id="date_180"></span>
<span id="answer"></span></p>
JS/JQ
$(document).ready(function () {
$('#indexDate').datepicker({changeYear: true}).datepicker('setDate', '01/01/2004');
});
function getdate() {
var tt = document.getElementById('indexDate').value;
var date = new Date(tt);
var newdate = new Date(date);
var deadline = new Date(11/03/2014);
newdate.setDate(newdate.getDate() + 180);
var dd = newdate.getDate();
var mm = newdate.getMonth() + 1;
var y = newdate.getFullYear();
var formattedDate = mm + '/' + dd + '/' + y;
document.getElementById('date_180').innerHTML = formattedDate;
if (formattedDate<deadline) {
document.getElementById("answer").innerHTML = "Yay!";
} else {
document.getElementById("answer").innerHTML = "Boo!";
}
}
在你的 if 条件下试试这个
if(new Date(formattedDate) < deadline){
document.getElementById("answer").innerHTML = "Yay!";
} else {
document.getElementById("answer").innerHTML = "Boo!";
}
如果不起作用尝试格式化日期喜欢
var formattedDate = new Date(Year,Month,Day);//Date object
ref
我认为这是日期格式的问题。
添加
console.log(deadline);
console.log(formattedDate);
在 if 块之前并在控制台中查看。它说什么?