Как сравнить две даты
Короткий ответ
Объекты дат сравнивают обычными операторами:
<?php
$deadline = new DateTimeImmutable('2025-06-01');
$now = new DateTimeImmutable('2025-05-20');
var_dump($now < $deadline);Результат:
bool(true)Строки
Даты в формате ГГГГ-ММ-ДД можно сравнивать как строки — порядок совпадает с календарным:
<?php
var_dump('2025-05-20' < '2025-06-01');Результат:
bool(true)Чего делать нельзя
Строки в формате ДД.ММ.ГГГГ так сравнивать нельзя: сравнение идёт по первым символам, то есть по дню:
<?php
var_dump('20.05.2025' < '01.06.2025');Результат:
bool(false)Функции из этого ответа
- DateTimeImmutable — Объект даты и времени, который нельзя изменить: каждое действие возвращает новый объект.
- strtotime — Превращает текстовое описание даты в метку времени.