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("The age of the person in years is",age,"years")
age_calculator(2023,1995)

输出

The age of the person in years is 28 years

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("Your age is",age,"years.")

输出

Your age is 32 years.

使用 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("your age is",age,"years.")

输出

your age is 28 years.

使用 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("The age of the person in years is",age,"years")

输出

The age of the person in years is 32 years

更新于: 2023年10月19日

11K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告