python 如何将身份证上的出生日期转化为年龄
import datetime
def str_to_date(datestr):
datestr = datestr.split(".",1)[0]
date = datetime.datetime.strptime(datestr, "%Y-%m-%d %H:%M:%S")
return date
def cal_age_from_identity(identity=None, time_window=None):
identity = "410381198903032042"
if time_window is None:
time_window = datetime.datetime.now()
try:
birth = datetime.datetime.strptime(identity[6:14], "%Y%m%d")
age = (str_to_date(str(time_window)) - str_to_date(str(birth))).days / 365
except:
return "err"
return age
print cal_age_from_identity()