【python】 根据身份证号计算患者真实年龄 完整版

import datetime

id_card=:'320158199652103214'   #举例说明

birth = id_card[6:14]  # 身份证出生年月日

birth_date = datetime.datetime.strptime(birth, "%Y%m%d")  # 转日期形式

this_date = datetime.datetime.now()  # 现在时间

if this_date.month - birth_date.month > 0:  # 先判断月份之差,如果相差大于0

    age = this_date.year - birth_date.year  # 年份相减

elif this_date.month - birth_date.month == 0:  # 如果月份相等,就判断日

    if this_date.day - birth_date.day >= 0:  # 相同方法判断日

        age = this_date.year - birth_date.year

    else:

        age = this_date.year - birth_date.year - 1

else:  # 如果月份之差小于零,直接用年份相减再减1

    age = this_date.year - birth_date.year - 1

print(age)

上一篇:查询优化(排序优化)


下一篇:hive自定义函数