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

How to check for one date is less than or equal another date in Javascript

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

这是我的代码,

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 语句的时候进入?我在这里错过了什么。

谢谢

这里的问题是 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,接受的格式是:

A string representing an RFC2822 or ISO 8601 date (other formats may be used, but results may be unexpected).

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

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