Javascript日期比较错误?

pet*_*ter 2 javascript validation

为什么这不合适?

function test() { 
    var start = new Date(2012, 3, 31, 19, 0, 0); // 3/31/2012 7:00 PM
    var end = new Date(2012, 4, 1, 1, 0, 0);     // 4/01/2012 1:00 AM

    if (end < start)
        console.log("oops!");
    else
        console.log("works!");
}
Run Code Online (Sandbox Code Playgroud)

输出:

哎呀!

Jak*_*cki 9

月份以js为基础从0开始

var start = new Date(2012, 2, 31, 19, 0, 0); // 3/31/2012 7:00 PM
var end = new Date(2012, 3, 1, 1, 0, 0);     // 4/01/2012 1:00 AM
Run Code Online (Sandbox Code Playgroud)

你的情况都startend是5月1日2012年就输出的值,你会看到.