如何根据身份证号码计算年龄-python
身份证号码是一个重要的个人标识符,其中包含了关于个人的信息,包括出生日期。通过身份证号码,我们可以计算出一个人的年龄。在本文中,我们将介绍如何使用Python编程语言根据身份证号码计算年龄。
首先,我们需要导入datetime模块,以便使用日期和时间相关的函数和类。代码如下所示:
import datetime
然后,我们定义一个函数calculate_age
,该函数接受一个身份证号码作为输入,并返回对应的年龄。函数的实现如下:
def calculate_age(id_number):
# 获取当前日期
current_date = datetime.date.today()
# 解析身份证号码中的出生日期
birth_year = int(id_number[6:10])
birth_month = int(id_number[10:12])
birth_day = int(id_number[12:14])
# 根据出生日期计算年龄
birth_date = datetime.date(birth_year, birth_month, birth_day)
age = current_date.year - birth_date.year
# 如果当前月份小于出生月份,或者当前月份等于出生月份但是当前日期小于出生日期,则年龄减一
if current_date.month < birth_date.month or (current_date.month == birth_date.month and current_date.day < birth_date.day):
age -= 1
return age
在上述代码中,我们首先获取当前日期,然后从身份证号码中解析出出生日期的年、月、日。接下来,我们使用出生日期和当前日期计算出年龄。如果当前月份小于出生月份,或者当前月份等于出生月份但是当前日期小于出生日期,则年龄减一,以确保计算的年龄是准确的。
接下来,我们需要获取用户输入的身份证号码,并调用calculate_age
函数计算年龄。代码如下所示:
id_number = input("请输入身份证号码:")
age = calculate_age(id_number)
最后,我们将计算得到的年龄输出到屏幕上。代码如下所示:
print("当前年龄:", age, "岁")
通过运行上述代码,我们可以根据输入的身份证号码计算出对应的年龄。
- 完整代码
import datetime
def calculate_age(id_number):
# 获取当前日期
current_date = datetime.date.today()
# 解析身份证号码中的出生日期
birth_year = int(id_number[6:10])
birth_month = int(id_number[10:12])
birth_day = int(id_number[12:14])
# 根据出生日期计算年龄
birth_date = datetime.date(birth_year, birth_month, birth_day)
age = current_date.year - birth_date.year
# 如果当前月份小于出生月份,或者当前月份等于出生月份但是当前日期小于出生日期,则年龄减一
if current_date.month < birth_date.month or (current_date.month == birth_date.month and current_date.day < birth_date.day):
age -= 1
return age
# 获取用户输入的身份证号码
id_number = input("请输入身份证号码:")
# 调用函数计算年龄
age = calculate_age(id_number)
# 输出年龄
print("当前年龄:", age, "岁")