Encodera

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

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

Как сравнить две даты

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

Объекты дат сравнивают обычными операторами:

<?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 — Превращает текстовое описание даты в метку времени.

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

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