如何根据身份证号码计算年龄-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, "岁")