Javascript узнать количество дней в месяце
Каким образом можно определить количество дней в месяце? На javascript это сделать очень просто.
Дело в том, что объект Date в javascript очень гибок. Если создать дату с числом, которого нет в данном месяце (например 33 – ну его уж точно нигде нету ))), то месяц (или год) объекта увеличится.
Например, попробуем создать дату 33 в текущем месяце – июне (не забываем также, что месяцы в javascript нумеруются с нуля):
1 |
<span style="font-weight: bold; color: #7f0055;">var</span> june = <span style="font-weight: bold; color: #7f0055;">new</span> Date(2009, 5, 33); |
В итоге результирующей датой будет 3 июля 2009 г.
Используя данную гибкость языка, можно одной строчкой определить количество дней в месяце:
1 |
<span style='color:#7f0055; font-weight:bold; '>var</span> dayCount = 32 - <span style='color:#7f0055; font-weight:bold; '>new</span> Date(year, month, 32).<span style='color:#7f0055; font-weight:bold; '>getDate</span>(); |
Или более красивый вариант:
1 |
<span style='color:#7f0055; font-weight:bold; '>var</span> dayCount = <span style='color:#7f0055; font-weight:bold; '>new</span> Date(year, month + 1, 0).<span style='color:#7f0055; font-weight:bold; '>getDate</span>(); |