在Javascript中添加日期到日期

时间:2014-05-02 03:09:33

标签: javascript jquery date

我可以为当月的某个月中的任何日期添加日期。但是,如果我选择一个说2014-06-26的到达日期,然后选择7个晚上(将其转到下个月),它会对这些日期进行正确的添加,但会将其添加为月份是当月2014-05-26。我没有正确地添加日期吗?

$('#nights').blur(function() {
        var date = new Date();
        var arrival = parseDate($('#arrivaldate').val());
        var nights = parseInt($('#nights').val());
        date.setDate(arrival.getDate()+nights);
        console.log(date);
        //convert date
        var mon = date.getMonth()+1;
        console.log(mon);
        var year = date.getFullYear();
        var day = date.getDate();
        mon = mon < 10 ? "0"+mon : mon;
        day = day < 10 ? "0"+day : day;     

        $('#departdate').val(year+'-'+mon+'-'+day);
    });         

1 个答案:

答案 0 :(得分:1)

正如@CBroe在评论中指出的那样。

var date = new Date();已从当前时间

初始化date

date.setDate(arrival.getDate()+nights);date中的某一天设置为arrival中的某一天,并添加了+晚。

如果今天是5月,date是5月,如果arrival是6月,则第2行不会将date中的月份设置为6月。

试试这个:

var arrival = parseDate($('#arrivaldate').val());
var depart = new Date(arrival);
var nights = parseInt($('#nights').val());
depart.setDate(arrival.getDate()+nights);
console.log(depart);