Верх страницы
Обложка к записи PHP: получить название предыдущего месяца
Время для прочтения: 0 мин. 3 сек.

PHP: получить название предыдущего месяца

Простая, казалось бы, задача, но есть один нюанс. Если попытаться получить название логичным способом.


< ?php
echo strftime('%B', strtotime('-1 month'));
?>

То, например, запустив этот код, 31 мая вы получите в ответ «май» (или «may» в зависимости от локали). Это происходит потому, что -1 month тупо отнимает 30 дней (31 — 30 = 1). Естественно, это не то, чего мы ожидали.

Правильным решением проблемы будет следующий код:


< ?php
// Устанавливаем временныую зону
date_default_timezone_set('Europe/Moscow');

// Вычисляем название предыдущего месяца
echo strftime('%B', strtotime('first day of previous month'));
?>

Ссылки

Автор: Кобзарёв Михаил

Русский разработчик с 20-ти летним стажем. Работаю с PHP, ООП, JavaScript, Git, WordPress, Битрикс, Joomla, Drupal, OpenCart, DLE, Laravel, Moonshine, Symfony, SuiteCRM.

Оптимизирую сайты под Google Page Speed, настраиваю импорты для больших магазинов на WooCommerce + WP All Import. Пишу плагины на заказ. Все мои услуги.

Веду блог о разработке, дайджест в телеграмме и в ВК.

Вы всегда можете нанять меня.

Комментарии
Подписаться
Уведомить о
guest

2 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Артем Таранов
11 лет назад

Так лучше:
date('F',mktime(0,0,0,date('m')-1))
🙂

Предыдущая запись

Давайте дружить
в Telegram

Авторский блог вашего покорного слуги в Telegram про web, программирование, алгоритмы, инструменты разработчика, WordPress, Joomla, Opencart, Laravel, Moonshine, фильмы и сериалы