php — получить первый день следующего месяца

При создании расписаний, календарей, и т.п. могут возникать задачи вроде — получить timestamp первого дня этого месяца, или последнего дня следующего и т.п.

В лоб это решается вот так:

Со следующим месяцем конструкция работает даже если $month выходит за рамки от 1 до 12 — mktime автоматически поправит год и вычислит месяц. Т.е. для 13 — мы получим январь и следующий год.

Элегантный способ

Есть еще «элегантный» способ. PHP даёт нам функцию strtotime(), которая к версии 5.4 сильно поумнела и понимает выражения вроде следующего:

Главное, быть аккуратным с тем, что получилось. В предыдущем примере действительно получится первый день текущего/следующего месяца, но время окажется равным текущему (т.е не будет 00:00:00 как ожидается).

Это тоже поправимо:

Мало букафф? Читайте есчо !

Функция для локализации изображения при экспорте статьи

Февраль 29, 2016 г.

За многолетнюю практику работы с Drupal, я накопил целую библиотеку вспомогательных функций. Функция, описываемая в этой статье, используется для копирования ...

Читать

Загрузка-выгрузка в формате excel из PHP

Август 25, 2017 г.

Встроенные библиотеки PHP не позволяют работать с форматами данных популярного табличного процессора Excel. За исключением текстового формата CSV (см. ...

Читать

Как в PHP сделать буквы заглавными?

Сентябрь 13, 2016 г.

PHP обладает целым арсеналом работы со строками. Сделать буквы заглавными или наоборот перевести в строчные - нет ничего проще. Базовый набор функций для работы со строками содержит такие функции как: string strtolower ( string $string ); - ...

Читать

PHP загрузка файлов через форму

Апрель 30, 2018 г.

Получение данных из формы на PHP - одна из типовых задач. И если большинство полей не вызывает каких то сложностей с обработкой на входе, то поле для загрузки файлов - может оказаться крепким орешком для начинающего разработчика. Все проблемы возникают ...

Читать
 

Комментарии к «php — получить первый день следующего месяца»

Понравилась статья? Есть вопросы? - пишите в комментариях.



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