比较日期与mm / dd / yyyy给出相反的结果

时间:2017-08-23 12:16:24

标签: javascript

我想比较两个日期但总是给我相反的结果。

我想比较以下日期

var tocompare=09/22/2017 and var insurenceexpiry=04/02/2018

我试着比较如下。

console.log(insurenceexpiry > tocompare);
console.log(insurenceexpiry < tocompare);

这给了我虚假和真实。根据我的知识, insurenceexpiry 更大,当我比较 insurenceexpiry&gt; tocompare 它应该给我真实,但我变得虚假。我做错了什么?

2 个答案:

答案 0 :(得分:4)

您必须使用new Date(datestring)将其转换为日期。

否则9/22/2017没有引号会进行数学运算

&#13;
&#13;
var tocompare=new Date("09/22/2017");
var insurenceexpiry=new Date("04/02/2018");

 console.log(insurenceexpiry > tocompare);
 console.log(insurenceexpiry < tocompare);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您想直接将2个日期作为字符串进行比较,请使用YYYY/MM/DD格式,(您可以使用除/之外的任何分隔符,主要是YYYYMMDD

否则将它们解析为日期(根据i--'s answer)然后比较,因为月份或日期可能比另一个日期更大,但这并不意味着它实际上更大日期,因此您不能使用mmddyyyy格式进行简单的字符串比较,以获得更大的日期。