技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

Python 程序以年份计算年龄

pythonserver side programmingprogramming

一般来说,一个人的年龄是通过用当前年份减去出生年份来计算的,然后以年份计算出该人的年龄。同样,我们可以使用 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 岁

相关文章