Javascript日期比较

时间:2015-11-16 09:51:30

标签: javascript

在Javascript中,如果我有以下字符串格式的日期(mm / dd / yyyy)

date1 = "11/16/2015"
date2 = "11/09/2015"
date3 = "10/31/2015"

我可以直接对它们进行比较吗?

喜欢

date1 < date2
date2 > date3 

这是比较它们的正确方法吗?它会自动考虑日期(如10月31日和11月3日)

3 个答案:

答案 0 :(得分:2)

您无法使用字符串格式执行此操作,您必须在比较之前将日期转换为Date()对象:

var date1_parts= date1.split("/");
date1 = new Date(date1_parts[2], date1_parts[0] - 1, date1_parts[1]);

var date2_parts= date2.split("/");
date2 = new Date(date2_parts[2], date2_parts[0] - 1, date2_parts[1]);

现在,您可以使用<>符号对其进行比较:

date1 > date2
true
date1 < date2
false
date1 == date2
false

希望这有帮助

答案 1 :(得分:1)

您应该转换为日期类型然后比较它们

var d1 = new Date("11/16/2015");
var d2 = new Date("11/09/2015");

d1>d2  //true
d2>d1  //false

答案 2 :(得分:0)

您可以将日期转换为time格式,然后进行比较。

date1 = new Date("11/16/2015").getTime();
date2 = new Date("11/09/2015").getTime();
date3 = new Date("10/31/2015").getTime();

// and then
// date1 < date2;
// date2 > date3;

// example
alert(date1 > date2);

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTime