Как вычислить возраст по дате рождения
Короткий ответ
Метод diff() возвращает промежуток между датами; свойство y — число полных лет:
<?php
$birth = new DateTimeImmutable('1990-06-15');
$today = new DateTimeImmutable('2025-01-30');
echo $birth->diff($today)->y;Результат:
34Проверка совершеннолетия
Сравните число лет с порогом:
<?php
$birth = new DateTimeImmutable('2010-03-01');
$today = new DateTimeImmutable('2025-01-30');
var_dump($birth->diff($today)->y >= 18);Результат:
bool(false)Функции из этого ответа
- DateTimeImmutable — Объект даты и времени, который нельзя изменить: каждое действие возвращает новый объект.
- checkdate — Проверяет, существует ли такая дата.