我想比较两个日期但总是给我相反的结果。
我想比较以下日期
var tocompare=09/22/2017 and var insurenceexpiry=04/02/2018
我试着比较如下。
console.log(insurenceexpiry > tocompare);
console.log(insurenceexpiry < tocompare);
这给了我虚假和真实。根据我的知识, insurenceexpiry 更大,当我比较 insurenceexpiry&gt; tocompare 它应该给我真实,但我变得虚假。我做错了什么?
答案 0 :(得分:4)
您必须使用new Date(datestring)
将其转换为日期。
否则9/22/2017
没有引号会进行数学运算
var tocompare=new Date("09/22/2017");
var insurenceexpiry=new Date("04/02/2018");
console.log(insurenceexpiry > tocompare);
console.log(insurenceexpiry < tocompare);
&#13;
答案 1 :(得分:0)
如果您想直接将2个日期作为字符串进行比较,请使用YYYY/MM/DD
格式,(您可以使用除/
之外的任何分隔符,主要是YYYYMMDD
)
否则将它们解析为日期(根据i--'s answer)然后比较,因为月份或日期可能比另一个日期更大,但这并不意味着它实际上更大日期,因此您不能使用mmddyyyy
格式进行简单的字符串比较,以获得更大的日期。