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

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

本问题已经有最佳答案,请猛点这里访问。

我很难确定一个日期是否小于或等于另一个日期。

这是我的密码,

1
2
3
4
5
6
7
8
9
10
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语句?我错过了什么。

谢谢


1
2
3
4
5
6
7
8
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");
}

它工作了,看看那辆敞篷车


这里的问题是,01-Jul-2007不是Date对象支持的格式。试着用2007-01-07代替。然后你的程序按预期工作。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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格式。完整的格式列表在RFC2822中。