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
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP