Привет, у меня есть следующий код, в котором меня просят взять текущую дату и добавить к ней 3 дня, чтобы имитировать возвращение фильма.
Что ж, с сегодняшней датой «12.01.2018» при добавлении 3 дней получается, что день возврата «15.01.2018», что правильно, но если вы поставите текущую дату как «01/ 30/2018" при добавлении 3 дней становится "33/01/2018". Как я могу проверить это, чтобы дата возврата в этом случае была «03.02.2018». Надеюсь, я правильно объяснил себя.
Код:
function devolucionPelicula()
{
fecha = new Date();
dia = fecha.getDate();
mes = fecha.getMonth()+1;// +1 porque los meses empiezan en 0
anio = fecha.getFullYear();
document.write("Fecha actual: "+dia+"/"+mes+"/"+anio);
document.write("<br>Fecha devolucion: "+(dia+3)+"/"+mes+"/"+anio);
}
Функция
Date.setDate()
позволяет вводить значения за пределами обычного диапазона месяца, месяц и/или год корректируются, если они выходят за пределы диапазона:На испанском:
Таким образом, ваш код может быть:
Вам просто нужно использовать метод
setDate
, чтобы установить день даты. Если номер дня превышает последний день месяца, он автоматически переходит к следующему месяцу:Это может выглядеть так:
Вы должны выполнить сумму дней с помощью методов, которые предоставляет вам JavaScript, в данном случае метод setDate , а не ваши числовые переменные отдельно, поскольку у него не будет никакой логики даты (если вы, конечно, не предложите ее).
При добавлении дней, разрешенных для возврата, вам нужно сделать это внутри Date.setDate() даты возврата. Я надеюсь, что это поможет вам