class GetInformation(object):
# 初始化数据需要加入的变量
def __init__(self, id):
self.id = id
self.birth_year = int(self.id[6:10])
self.birth_month = int(self.id[10:12])
self.birth_day = int(self.id[12:14])
def get_birthday(self):
# 通过身份证号获取出生日期
birthday = "{0}-{1}-{2}".format(self.birth_year, self.birth_month, self.birth_day)
return birthday
def get_sex(self):
# 男生:1 女生:0
num = int(self.id[16:17])
if num % 2 == 0:
return "女"
else:
return "男"
def get_age(self):
# 获取年龄
now = (datetime.datetime.now() + datetime.timedelta(days=1))
year = now.year
month = now.month
day = now.day
if year == self.birth_year:
return 0
else:
if (self.birth_month > month) or (self.birth_month == month and self.birth_day > day):
return year - self.birth_year - 1
else:
return year - self.birth_year
# NoEqual类出生日期获取年龄的类, NoEqual继承GetInformation类
class NoEqual(GetInformation):
# 重新构建
def __init__(self, id):
self.id = id
self.birth_year = int(self.id[0:4])
self.birth_month = int(self.id[4:6])
self.birth_day = int(self.id[6:8])
python通过身份证或出生日期获取年龄
于 2022-03-07 15:51:54 首次发布