jQuery datepicker — Выбор последнего дня месяца

#jquery #datepicker

#jquery #выбор даты

Вопрос:

В генераторе отчетов, который я написал, пользователь может выбрать диапазон дат для отображения результатов. Но поскольку данные для этого отчета генерируются ежемесячно, дневная часть диапазона дат действительно не имеет значения. Теперь у меня есть требование изменить день выбранной начальной даты на ‘1’, независимо от того, что выбрал пользователь. Я сделал это следующим образом:

 $('#TextStartDate').datepicker({ maxDate: " 0M", minDate: "-24M", dateFormat: 'm/1/yy' });
  

Вторая часть требования заключается в том, что день выбранной конечной даты должен быть установлен на последний день месяца, независимо от того, какой день был выбран. Итак, если пользователь выбрал конечную дату 16.05.2011, то в поле даты будет отображаться 31.05.2011. Вот тут я и застрял.

Буду признателен за любую помощь.

Ответ №1:

Наиболее последовательный метод, который я нашел для этого, это:

  1. Добавьте один месяц к выбранному дню

  2. Округление до первого дня этого месяца

  3. Вычтите 1 день.

    Не обязательно красиво, но это работает.

План Б:

  1. Округлить до первого числа выбранного месяца
  2. Добавить 1 месяц
  3. Вычтите 1 день

примечание: работа над кратким примером кода будет добавлена позже

Комментарии:

1. @peter… Забавно, этот ответ был принят OP и поддержан несколько раз 8 ЛЕТ назад, и вы прыгаете сюда, чтобы сказать мне, что мне нужно ?!? (кроме того, учитывая разнообразие библиотек Javascript для работы со временем и датами, шаги гораздо важнее, чем сам код)