我想计算提供的日期和当前日期之间的天数。
我正在使用以下javascript,但是却得到了错误的结果。

function getcabin(saildates) {
    var d = new Date();

    var month = d.getMonth()+1;
    var day = d.getDate();

    var output = d.getFullYear() + '-' + month + '-' + day;
    alert(daydiff(parseDate(output), parseDate(saildates)));
}
function parseDate(str) {
    var mdy = str.split('-')
    return new Date(mdy[2], mdy[0]-1, mdy[1]);
}

function daydiff(first, second) {
    return (second-first)/(1000*60*60*24)
}


任何人都可以指出错误或如何解决吗?

最佳答案

在这里,您使用的格式为yyyy-mm-dd

var output = d.getFullYear() + '-' + month + '-' + day;


在这里,您将其解析为mm-dd-yyyy

return new Date(mdy[2], mdy[0]-1, mdy[1]);


要设置日期格式使其适合解析器,请执行以下操作:

var output = month + '-' + day + '-' d.getFullYear();


如果要将其解析为yyyy-mm-dd

return new Date(mdy[0], mdy[1]-1, mdy[2]);

关于javascript - 如何获取当前日期和提供的日期之间的天数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12758159/

10-15 14:37