在Javascript中,如果我有以下字符串格式的日期(mm / dd / yyyy)
date1 = "11/16/2015"
date2 = "11/09/2015"
date3 = "10/31/2015"
我可以直接对它们进行比较吗?
喜欢
date1 < date2
date2 > date3
这是比较它们的正确方法吗?它会自动考虑日期(如10月31日和11月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