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

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

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

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

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

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

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

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

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

Чтение даты-времени из строки

Февраль 27, 2019 г.

Это частая задача возникает при чтении логов, пользовательских данных и .т.п. PHP даёт пару отличных инструментов, для её решения. Функция strtotime() Эта функция с довольно сложным функционалом, пытается определить не только формат пользовательского ...

Читать

Работа с html select в режиме multiple, отличия от обычного режима

Июнь 9, 2017 г.

HTML select с флагом multiple позволяет сделать выбор нескольких значений. В этой статье мы рассмотрим как правильно обработать данные, используя javascript ...

Читать

Конструктор класса в PHP и его перегрузка

Январь 26, 2016 г.

В версии PHP 5 мы получили возможность использовать конструктор класса, специальную функцию, объявляемую в классе, которая служит для инициализации экземпляра объекта. К сожалению, конструкторы, как и остальные методы класса в PHP, не могут быть "перегружены". ...

Читать

Разбить строку на буквы в PHP

Январь 13, 2017 г.

Это задача - классика алгоритмов. В каждом языке программирования есть свои особенности. Для паскаля, к примеру, строка - это массив символов, потому ...

Читать
 

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

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



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