Добавление дней к дате в Javascript [дубликаты]

0

Я могу добавить дни к дате, отлично подходящие для любой даты в месяц в текущем месяце. Однако, если я 2014-06-26 дату прибытия, скажем, 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);
    });         
  • 2
    «Но добавляет его, как будто месяц является текущим месяцем» - месяц является текущим месяцем, потому что вы делаете добавление в текущую дату, а не в дату вашего прибытия…
Теги:
date

1 ответ

1
Лучший ответ

Как отметил @CBroe в комментариях.

var date = new Date(); инициализированная date с текущего времени

date.setDate(arrival.getDate()+nights); устанавливает день месяца в date до дня месяца по arrival и добавляет +nights.

Если сегодня в мае, date в мае, и если arrival в июне, вторая строка не устанавливает месяц на date до июня.

Попробуй это:

var arrival = parseDate($('#arrivaldate').val());
var depart = new Date(arrival);
var nights = parseInt($('#nights').val());
depart.setDate(arrival.getDate()+nights);
console.log(depart);
  • 0
    Спасибо за объяснение. Я предполагаю, что это был случай «Я слишком долго смотрел на это».
  • 0
    Также обратите внимание, что parseDate() не является частью стандартного Javascript. У вас может быть функция parseDate где-нибудь в библиотеке .... или, может быть, это Date.parse()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню