Javascript 为什么getTime()返回不一致的值?

Javascript 为什么getTime()返回不一致的值?,javascript,Javascript,我试图使用getTime()函数来计算日期差。据我所知,最新的日期返回的getTime()值比之前的日期高 function libraryFine(d1, m1, y1, d2, m2, y2) { let returnDate = new Date(); returnDate.setDate(d1); returnDate.setMonth(m1); returnDate.setYear(y1); let dueDate = new Date();

我试图使用
getTime()
函数来计算日期差。据我所知,最新的日期返回的
getTime()
值比之前的日期高

function libraryFine(d1, m1, y1, d2, m2, y2) {
    let returnDate = new Date();
    returnDate.setDate(d1);
    returnDate.setMonth(m1);
    returnDate.setYear(y1); 

    let dueDate = new Date();
    dueDate.setDate(d2);
    dueDate.setMonth(m2);
    dueDate.setYear(y2); 

    let datediff = returnDate.getTime() - dueDate.getTime();
    console.log(returnDate.getTime());
    console.log(dueDate.getTime());
    console.log(datediff);
}
但是上面的函数记录了以下两组不一致的值-

d1=31,m1=5,y1=2014,d2=1,m2=5,y2=2014
datediff
返回-ve,这不应该是正的吗?
d1=9,m1=6,y1=2015,d2=6,m2=6,y2=2015
datediff
返回+ve,看起来还好吧


小姐在哪里?

试着设置年份、月份和日期。。。因为6月31日是无效的(你的第一次约会)-事实上,你应该做
新的日期(y,m,d)
而不是你正在做的事情,因为像月份有不同的天数不是5月吗?不,5月是6月。。。0是一月。。。。见。谢谢你,朋友。只是想知道,设置年份第一有助于处理这个问题吗?因为溢出。。。阅读文档,它将解释如果设置日期>月份天数会发生什么