抱歉n00b问题,但我的js / jq很糟糕。我在下午花了大部分时间,但我仍然无法弄清楚最后一点。
我需要输入日期,计算输入日期后180天的日期,然后将其与dateString进行比较(在下面的代码中标记为'截止日期')。一切正常,除了最后的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!";
}
}
答案 0 :(得分:0)
在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
答案 1 :(得分:0)
我认为这是日期格式的问题。
添加
console.log(deadline);
console.log(formattedDate);
在if块之前并在控制台中查看。这是什么意思?