Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить последний день месяца (https://javascript.ru/forum/misc/8793-kak-poluchit-poslednijj-den-mesyaca.html)

Casufi 13.04.2010 12:16

Как получить последний день месяца
 
Сейчас используя такую вот конструкцию получаю 28 февраля 1985
lYear = 1985;
lMonth = 2;
var lDaysCount = new Date(lYear , lMonth, 0).getDate();
var lDays = new Date(lYear,lMonth-1,lDaysCount);
alert("Последний день: "+lDays);


По идее правильно должна отрабатывать вот такая конструкция, но она возвращает 31 марта
lYear = 1985;
lMonth = 2;
var lDaysCount = new Date(lYear , lMonth+1, 0).getDate();
var lDays = new Date(lYear,lMonth,lDaysCount);
alert("Последний день:  "+lDays);

Kolyaj 13.04.2010 12:20

Месяцы с нуля считаются.

vflash 13.04.2010 12:39

getMaxDate = function(y, m) {
	if (m == 1) {
		return y%4 || (!(y%100) && y%400 ) ? 28 : 29;
		};

	return m===3 || m===5 || m===8 || m===10 ? 30 : 31;
	};

Casufi 13.04.2010 12:45

vflash,
А чем ваш вариант лучше предложенного ? Зачем одну строку раскладывать в 6 ?

vflash 13.04.2010 13:43

Casufi, скорость


Часовой пояс GMT +3, время: 00:57.