Аватар пользователя Dima

Узнать последний день месяца PHP

Как узнать последний день месяца с помощью PHP?

В MySQL все просто: есть встроенная функция LAST_DAY(date), которая принимает в качестве аргумента дату в строковом формате и возвращает последний день месяца заданной даты.

​В PHP нет такой функции, потому получить последний день месяца можно используя функцию date() c указанием в качестве формата даты 't':

$unixtime = time(); // your date in unix format date('t', $unixtime);

Пример:

Текущая дата и время: 2017-05-23 14:05:46
Последний день текущего месяца: 31

Код примера:

$unixtime = time(); // your date in unix format print "Текущая дата и время: "; print date('Y-m-d H:m:s', $unixtime ); print "Последний день текущего месяца: "; print date('t', $unixtime);

 

UPDATED:

Для Drupal это будет звучать так
format_date($unixtime, 'custom', 't');

Это позволяет учитывать часовой пояс текущего пользователя.

Комментарии

а ведь можно и без $unixtime

Можно вообще весь код поместить в строку)))).Возможно в этом случае создать лишнюю переменную было не правильным, но для читаемости кода лучше сделать так.

Чего придираться-то? Суть то не в

$unixtime

date('t','2013-11-15 00:00:00'); //31 date('t','2013-02-15 00:00:00'); //31date('t','2013-05-15 00:00:00'); //31

Думаю, что комментарий будет излишним...

Мы говорим о друпал. В этом контексте правельней использоавать format_date().