与javascript的日期比较错误

时间:2014-06-27 11:44:28

标签: javascript date

我正在尝试比较javascript中的日期。为什么会这样?

var strDate = "28/06/2014";
var arrayDate = strDate.split("/");
var fechaTurno = new Date(arrayDate[2], arrayDate[1] - 1, arrayDate[0]);
var fechaActual = new Date();
var fechaLimite = new Date();
fechaLimite.setDate(fechaActual.getDate() + 10);

console.log(fechaTurno); //  Date {Sat Jun 28 2014 00:00:00 GMT-0300}
console.log(fechaActual); //  Date {Fri Jun 27 2014 08:36:24 GMT-0300}
console.log(fechaLimite); //  Date {Mon Jul 07 2014 08:36:24 GMT-0300}

alert(fechaActual.getDate() <= fechaTurno.getDate()); // true
alert(fechaTurno.getDate() <= fechaLimite.getDate()); // false

为什么最后一行是假的?应该是真的。我做错了什么?

3 个答案:

答案 0 :(得分:3)

getDate()方法返回月中的某天。

它是 - 28不是<=而不是7。

你会知道,如果你试图单独运行fechaTurno.getDate(),看看它返回的是什么而不是猜测。

答案 1 :(得分:0)

在取消getDate()

后尝试此操作
alert(fechaActual <= fechaTurno); // true
alert(fechaTurno <=fechaLimite ); //true

答案 2 :(得分:0)

在您的代码中我没有看到任何错误

  

getDate返回月中的某一天

alert(fechaActual.getDate() <= fechaTurno.getDate()); // true  because 27 < 28 
alert(fechaTurno.getDate() <= fechaLimite.getDate()); // false because 28 > 7

比较整个日期,试试

alert(fechaActual <= fechaTurno); 
alert(fechaTurno <= fechaLimite);