Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как получить первый и последний день месяца

Короткий ответ

Метод modify() понимает выражения first day of и last day of:

<?php
 
$date = new DateTimeImmutable('2026-02-14');
 
echo $date->modify('first day of this month')->format('Y-m-d'), ' ';
echo $date->modify('last day of this month')->format('Y-m-d');

Результат:

2026-02-01 2026-02-28

Сколько дней в месяце

Символ t в формате даты — число дней месяца:

<?php
 
echo (new DateTimeImmutable('2024-02-01'))->format('t'), ' ';
echo (new DateTimeImmutable('2026-02-01'))->format('t');

Результат:

29 28

Следующий месяц

К дате в конце месяца не прибавляйте +1 month — 31 января превратится в начало марта. Используйте first day of next month:

<?php
 
$date = new DateTimeImmutable('2026-01-31');
 
echo $date->modify('+1 month')->format('Y-m-d'), ' ';
echo $date->modify('first day of next month')->format('Y-m-d');

Результат:

2026-03-03 2026-02-01

Функции из этого ответа

  • DateTimeImmutable — Объект даты и времени, который нельзя изменить: каждое действие возвращает новый объект.
  • date — Форматирует дату и время.
  • strtotime — Превращает текстовое описание даты в метку времени.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.