как добавить дни в Javascript конкретном формате даты - PullRequest
0 голосов
/ 15 марта 2012

Здравствуйте, у меня есть дата в этом формате 03/08/12, где 03 - месяц, 08 - день, а 12 - год. Теперь я хочу добавить дни в этом. Я пытался следовать, но не получил точный результат

  checkindate = new Date($("#checkindate").val());
  checkindate.setDate(checkindate.getDate()+no_of_nights);
  $("#checkoutdate").val((checkindate.getMonth()+1)+"/"+checkindate.getDate()+"/"+checkindate.getYear());

Но это дает неожиданный результат, и я не могу понять, в какую часть даты он добавляет. Может ли кто-нибудь сказать мне, как я могу это сделать?

Привет

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Ваш код работает отлично, но убедитесь, что no_of_nights не является строкой . Возможно, это ваша проблема: операция добавления checkindate.getDate()+no_of_nights становится операцией сцепления , если no_of_nights является строкой.

8 + 5 = 13
8 + "5" = "85"

Очень разные!

Решение: использовать parseInt(no_of_nights).

0 голосов
/ 15 марта 2012

То, что у вас сейчас есть, не будет работать во всех ситуациях, потому что вы добавляете no_of_nights к значению дня, что означает, что у вас может быть 31 + 5, setDate () не даст вам ожидаемого результата со значением 36.

Вы должны выяснить, сколько месяцев, дней, лет и т. Д. Вы хотите добавить.

Javascript работает за миллисекунды с 01.01.1970, а не по обычному времени.

...