Python 程序以年份计算年龄
一般来说,一个人的年龄是通过用当前年份减去出生年份来计算的,然后以年份计算出该人的年龄。同样,我们可以使用 Python 模块 datetime、dateutil 和 timedelta 来计算一个人的年龄。
以年为单位的一般年龄计算
Current year - Birth year
示例
在此示例中,我们使用 Python 语言实现计算年龄的一般方法,将当前年份和出生年份作为输入传递给创建的函数 age_calculator(),然后以年为单位生成总年龄。
def age_calculator(current_year,birth_year): age = current_year -birth_year print("该人的年龄(以年为单位) is",age,"years") age_calculator(2023,1995)
输出
此人的年龄为 28 岁
python 中有一些方法可以帮助我们计算一个人的年龄。让我们逐一详细了解这些方法。
使用 datetime 模块
在 python 中,我们有一个名为 datetime 的模块来获取当前日期以减去此人的出生年份。 date.today() 是 datetime 模块中可用的函数,用于获取当前日期。
示例
在此示例中,我们将出生日期传递给 split 函数以获取出生年份,并使用 date.today() 函数生成当前日期,然后从当前年份中减去出生年份。
import datetime birthdate = "14-05-1991" day,month,year = map(int,birthdate.split("-")) today = datetime.date.today() age = today.year - year - ((today.month, today.day) < (month, day)) print("您的年龄是",age,"years.")
输出
您的年龄是 32 岁。
使用 dateutil 方法
python 中可用的另一个模块是 dateutil,它提供了一个relativedelta() 函数来计算出生日期和当前日期之间的差异。
dateutil 模块的relativedelta() 函数将当前年份和出生年份作为输入参数,并返回年龄作为输出。
示例
在此示例中,我们将出生日期作为输入,并使用 datetime.datetime.strptime() 函数分离出生年份。接下来使用 datetime.date.today() 函数生成当前年份,然后从当前年份中减去出生年份以生成人员年龄。
from dateutil.relativedelta import relativedelta import datetime birthdate = "22-01-1995" birthdate = datetime.datetime.strptime(birthdate, '%d-%m-%Y').date() today = datetime.date.today() age = relativedelta(today, birthdate).years print("你的年龄是",age,"years.")
输出
你的年龄是 28 岁。
使用 timedelta() 函数
datetime 模块中的 timedelta() 函数用于计算两个日期之间的天数,然后除以一年中的平均天数 (365.2425) 以获得年龄。
示例
在此示例中,我们使用 datetime.date.today() 生成当前年份,并计算当前日期与出生日期之间的差值,然后除以一年中的平均天数并返回此人的年龄。
import datetime def age_calculator(birthdate): today = datetime.date.today() age = (today -birthdate) // datetime.timedelta(days=365.2425) return age birthdate = datetime.date(1991, 5, 14) age = age_calculator(birthdate) print("该人的年龄为",age,"years")
输出
该人的年龄为 32 岁