📜  python根据出生日期计算年龄 - Python(1)

📅  最后修改于: 2023-12-03 15:04:39.958000             🧑  作者: Mango

Python根据出生日期计算年龄

在实际开发中,我们可能需要根据用户的出生日期计算出用户的年龄。使用Python可以轻松实现这个功能。

方法1:使用日期模块

Python标准包中有日期模块datetime,它提供了一些用于处理日期和时间的类和函数。

from datetime import datetime

def calculate_age(date_of_birth):
    today = datetime.today()
    age = today.year - date_of_birth.year - ((today.month, today.day) < (date_of_birth.month, date_of_birth.day))
    return age

该代码将出生日期作为参数传递给函数calculate_age,使用当前日期减去出生日期计算出用户的年龄,最后返回年龄。该函数可以简单地调用:

>>> date_of_birth = datetime.strptime('1990-05-14', '%Y-%m-%d')
>>> calculate_age(date_of_birth)
31
方法2:使用dateutil模块

使用datetime可以比较容易地计算出年龄,但有时候日期格式不是很规范,比如日期字符串存在多种可能的格式。此时,我们可以使用第三方库dateutil来处理。

from dateutil.relativedelta import relativedelta
from dateutil.parser import parse

def calculate_age(date_of_birth):
    today = datetime.today()
    age = relativedelta(today, date_of_birth).years
    return age

使用dateutil可以更加灵活地处理日期格式。例如,我们可以传递一个字符串到函数中:

>>> date_of_birth = parse('5/14/1990')
>>> calculate_age(date_of_birth)
31
总结

这两种方法都可以很容易地计算出一个人的年龄。datetime模块适用于标准日期格式,而dateutil模块则更加适用于非标准日期格式。