Javascript 将变量日期与if/else语句中的日期(日期字符串)进行比较
很抱歉问n00b问题,但是我的js/jq很糟糕。我花了一下午的大部分时间在这上面,但我还是想不出最后一点 我需要输入一个日期,计算从输入日期起180天的日期,并将其与日期字符串(在下面的代码中标记为“截止日期”)进行比较。除了最后的if/else语句之外,一切正常。我觉得这是一个简单的解决办法,但我就是看不到。目前,它只输出else语句的结果 HTMLJavascript 将变量日期与if/else语句中的日期(日期字符串)进行比较,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,很抱歉问n00b问题,但是我的js/jq很糟糕。我花了一下午的大部分时间在这上面,但我还是想不出最后一点 我需要输入一个日期,计算从输入日期起180天的日期,并将其与日期字符串(在下面的代码中标记为“截止日期”)进行比较。除了最后的if/else语句之外,一切正常。我觉得这是一个简单的解决办法,但我就是看不到。目前,它只输出else语句的结果 HTML 点击Go!要添加180天: 将180添加到: 结果日期: JS/JQ $(文档).ready(函数(){ $(“#indexDate”).d
点击Go!要添加180天:
将180添加到:
结果日期:
JS/JQ
$(文档).ready(函数(){
$(“#indexDate”).datepicker({changeYear:true}).datepicker('setDate','01/01/2004');
});
函数getdate(){
var tt=document.getElementById('indexDate').value;
var日期=新日期(tt);
var newdate=新日期(日期);
var截止日期=新日期(2014年3月11日);
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在您的if条件下尝试此方法
if(new Date(formattedDate) < deadline){
document.getElementById("answer").innerHTML = "Yay!";
} else {
document.getElementById("answer").innerHTML = "Boo!";
}
if(新日期(格式化日期)<截止日期){
document.getElementById(“答案”).innerHTML=“耶!”;
}否则{
document.getElementById(“答案”).innerHTML=“Boo!”;
}
如果不工作,尝试格式化日期
var formattedDate=新日期(年、月、日);//日期对象
我认为日期的格式有问题
加
在if块之前,在控制台中查看一下。它说什么?你是对的。问题在于日期的格式。我将“截止日期”固定为符合javascript日期对象格式的年、月、日。谢谢你的帮助!我真的很感激!使用你的两个建议可以让事情顺利进行!我确实做到了日期对象的格式错误,我认为这是造成问题的主要原因,因为正在比较的两个变量的格式不同。非常感谢您的帮助!我非常感谢。
$(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(new Date(formattedDate) < deadline){
document.getElementById("answer").innerHTML = "Yay!";
} else {
document.getElementById("answer").innerHTML = "Boo!";
}
console.log(deadline);
console.log(formattedDate);