如何检查一个日期小于或等于Javascript中的另一个日期

时间:2015-01-13 21:02:27

标签: javascript date

我很难检查一个日期是否小于或等于另一个日期。

这是我的代码,

var bftStartDt = input1[0]; //This is a string with value "01-Jul-2007"
var bftEndDt = input1[4]; //This is a string with value "01-Jul-1942"

var strtDt = new Date(bftStartDt);
var endDt = new Date(bftEndDt);
var flag = 0; // false

if (endDt <= strtDt){
   flag = 1; // true
}

它永远不会进入if语句吗?我在这里错过了什么。

由于

2 个答案:

答案 0 :(得分:7)

var strtDt  = new Date("2007-07-01");
var endDt  = new Date("1942-07-01");
var flag = 0; // false

if (endDt <= strtDt){
   flag = 1; // true
   alert("true");
}

可以查看plunker

答案 1 :(得分:0)

此处的问题是01-Jul-2007不是Date对象支持的格式。请尝试改为2007-01-07。然后你的程序按预期工作。

var bftStartDt = "01-07-2007"; //This is a string with value "01-Jul-2007"
var bftEndDt = "01-07-1942"; //This is a string with value "01-Jul-1942"

var strtDt = new Date(bftStartDt);
var endDt = new Date(bftEndDt);
var flag = 0; // false

if (endDt <= strtDt){
   flag = 1; // true
}

if(flag === 1) {
  console.log("It worked.");
}

根据MDN,接受的格式为:

  

表示RFC2822或ISO 8601日期的字符串(可以使用其他格式,但结果可能是意外的)。

因此您也可以使用格式Jul 01 2007。完整的格式列表位于RFC 2822