将可变日期与 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 块之前并在控制台中查看。它说什么?