Вычисление возраста по дате рождения: несколько методов, объясненных примерами кода

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

Метод 1: использование встроенных функций даты

Пример Python:

from datetime import date
def calculate_age(date_of_birth):
    today = date.today()
    age = today.year - date_of_birth.year
    if today.month < date_of_birth.month or (today.month == date_of_birth.month and today.day < date_of_birth.day):
        age -= 1
    return age
# Usage example:
dob = date(1990, 5, 15)
age = calculate_age(dob)
print("Age:", age)

Пример JavaScript:

Пример PHP:

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

Метод 2. Использование временных меток

Пример Python:

from datetime import datetime
def calculate_age(date_of_birth):
    today = datetime.now()
    dob = datetime.strptime(date_of_birth, "%Y-%m-%d")
    age = today.year - dob.year
    if today.month < dob.month or (today.month == dob.month and today.day < dob.day):
        age -= 1
    return age
# Usage example:
dob = "1990-05-15"
age = calculate_age(dob)
print("Age:", age)

Пример JavaScript:

function calculateAge(dateOfBirth) {
    var today = new Date();
    var dob = new Date(dateOfBirth);
    var age = today.getFullYear() - dob.getFullYear();
    if (today.getMonth() < dob.getMonth() || (today.getMonth() === dob.getMonth() && today.getDate() < dob.getDate())) {
        age--;
    }
    return age;
}
// Usage example:
var dob = "1990-05-15";
var age = calculateAge(dob);
console.log("Age:", age);

Пример PHP:

function calculateAge($dateOfBirth) {
    $today = time();
    $dob = strtotime($dateOfBirth);
    $age = date('Y', $today) - date('Y', $dob);
    if (date('m', $today) < date('m', $dob) || (date('m', $today) == date('m', $dob) && date('d', $today) < date('d', $dob))) {
        $age--;
    }
    return $age;
}
// Usage example:
$dob = "1990-05-15";
$age = calculateAge($dob);
echo "Age: " . $age;

В этой статье мы рассмотрели два метода расчета текущего возраста человека по дате его рождения. Первый метод опирался на встроенные функции даты, а второй метод использовал метки времени. Вы можете выбрать метод, который лучше всего соответствует вашему языку программирования и требованиям. Расчет возраста — фундаментальная задача в различных приложениях, и эти примеры помогут вам легко включить ее в свои проекты.

При реализации этих примеров не забывайте учитывать особенности синтаксиса и соглашений вашего языка программирования.