Добавьте 30 дней к дате (мм / дд / гггг), затем верните строку (мм / дд / гггг) - PullRequest
1 голос
/ 09 мая 2011

У меня есть функция ниже, которая берет строку из указателя даты и превращает ее в объект даты, чтобы я мог добавить к ней 30 дней.Оттуда я пытаюсь вернуть новую дату в виде строки с добавленными 30 днями в формате (мм / дд / гг).

Когда срабатывает первое предупреждение, оно правильно добавляет 30 дней квыбрал дату и показывает ее для выбранной даты как «05/03/2011»:

чт 02 июня 2011 00:00:00 GMT + 0100 (GMT по летнему времени)

Второе предупреждение показывает

5/2/2011

Кажется, я не могу правильно отформатировать дату, взять "05/03/2011" и вернуться "06/02/2011" .Я мог бы просто сделать месяц + 1, но мог бы с некоторой помощью, пожалуйста, показать мне, что я делаю неправильно.

  $('#sign_date').datepicker({
      onSelect: function(dateText, inst) { 

          var d = new Date(dateText);
          d.setDate(d.getDate() + 30);

          alert(d);

          var date = d.getDate();
          var month = d.getMonth();
          var year = d.getFullYear();

          alert(month+'/'+date +'/'+year)

      }
  });

Также я думаю, что то, как я это делаю, покажет дни и месяц, как, например, Ян= 1 и 1-й = 1, и я хотел бы, чтобы это было Янв = 01 и 1-й = 01

Спасибо

Ответы [ 3 ]

3 голосов
/ 09 мая 2011

Для ведущих нулей:

// add leading zero if the length equals 1
if (month < 10) month = "0" + month;
if (day < 10)   day   = "0" + day;

Обязательно добавьте 1 к своему месяцу, прежде чем использовать этот код, поскольку getMonth() возвращает 0 для января и т. Д .:

 var month = d.getMonth() + 1;
2 голосов
/ 09 мая 2011

Сюрприз, сюрприз ... Метод getMonth() возвращает месяц в диапазоне 0..11.

0 голосов
/ 11 января 2013

Ответ от Келли мне подходит

Только что изменил

if(month<9) month = "0"+(month+1);
if(date<10) day = "0"+date;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...