5 методов расчета возраста по дате рождения в PHP

Вычисление возраста по дате рождения является общим требованием во многих приложениях PHP. В этой статье блога мы рассмотрим различные методы выполнения этой задачи на примерах кода PHP. К концу этой статьи вы получите четкое представление о различных подходах к расчету возраста по заданной дате рождения.

Метод 1. Использование классов DateTime и DateInterval

function calculateAge($dob) {
    $today = new DateTime();
    $birthdate = new DateTime($dob);
    $age = $birthdate->diff($today)->y;
    return $age;
}
// Usage
$dob = '1990-05-15';
$age = calculateAge($dob);
echo "Age: " . $age;

Метод 2. Использование функций strtotime и date

function calculateAge($dob) {
    $today = strtotime(date('Y-m-d'));
    $birthdate = strtotime($dob);
    $age = date('Y', $today) - date('Y', $birthdate);
    if (date('md', $birthdate) > date('md', $today)) {
        $age--;
    }
    return $age;
}
// Usage
$dob = '1990-05-15';
$age = calculateAge($dob);
echo "Age: " . $age;

Метод 3. Использование библиотеки Carbon

require 'vendor/autoload.php';
use Carbon\Carbon;
function calculateAge($dob) {
    $birthdate = Carbon::parse($dob);
    $age = $birthdate->diffInYears(Carbon::now());
    return $age;
}
// Usage
$dob = '1990-05-15';
$age = calculateAge($dob);
echo "Age: " . $age;

Метод 4. Использование класса DateTimeImmutable (PHP 8+)

function calculateAge($dob) {
    $today = new DateTimeImmutable();
    $birthdate = new DateTimeImmutable($dob);
    $age = $birthdate->diff($today)->y;
    return $age;
}
// Usage
$dob = '1990-05-15';
$age = calculateAge($dob);
echo "Age: " . $age;

Метод 5. Использование библиотеки Carbon и специальной функции

require 'vendor/autoload.php';
use Carbon\Carbon;
function calculateAge($dob) {
    $today = Carbon::now();
    $birthdate = Carbon::createFromFormat('Y-m-d', $dob);
    $age = $today->diffInYears($birthdate);
    return $age;
}
// Usage
$dob = '1990-05-15';
$age = calculateAge($dob);
echo "Age: " . $age;

В этой статье мы рассмотрели пять различных методов расчета возраста по заданной дате рождения в PHP. Каждый метод предлагает уникальный подход, будь то использование встроенных функций PHP или внешних библиотек, таких как Carbon. Выберите метод, который лучше всего соответствует требованиям вашего проекта, и наслаждайтесь точными расчетами возраста в своих PHP-приложениях.