我很难检查一个日期是否小于或等于另一个日期。
这是我的代码,
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语句吗?我在这里错过了什么。
由于
答案 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。