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

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

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

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

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

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

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

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

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

Время в PHP, смещение от GMT, UTC

Январь 14, 2016 г.

Для начала разберемся что такое GMT и UTC.  Во многих источниках они упоминаются как синонимы, и между ними действительно не существенная разница (до 1 секунды). Их отличие в методике получения точного значения. UTC (универсальное координированное ...

Читать

Можно ли вызвать статический метод trait в php, не подключая его к какому то классу?

Май 27, 2025 г.

Если коротко - нельзя. Вызвать какой метод трейта напрямую без подключения его к классу невозможно, т.к. трейты в PHP не являются самостоятельными сущностями, как классы или объекты. Трейт — это механизм "вклейки" кода в класс. Он не компилируется ...

Читать

Переводим массив в XML на PHP

Июнь 18, 2018 г.

Итак, как перевести ассоциативный массив в XML? Воспользуемся "родным" для PHP классом SimpleXMLElement. В качестве основного контейнера используем тег <values/>, а  установить UTF-8 кодировку нам поможет небольшая хитрость. Инициализация ...

Читать

CURL выдаёт SSL certificate problem, что делать?

Февраль 12, 2017 г.

Если при отправке запроса через CURL по https, вы получаете следующую ошибку: [crayon-69fc4fbbf3c70438017457/] То можно отключить соответствующие проверки, выключив в опциях следующие флаги -SSL_VERIFYHOST, SSL_VERIFYPEER. [crayon-69fc4fbbf3c75682792071/] ...

Читать
 

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

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



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