Python实现身份证号码有效期计算
要计算中国身份证号码的有效期,可以先提取出号码中的出生日期,再根据身份证规则计算出有效期。以下是Python实现身份证号码有效期计算的示例代码:
import datetime def calculate_id_expiry(id_num): # 获取出生日期,身份证号码前14位为出生日期 birthdate_str = id_num[6:14] birthdate = datetime.datetime.strptime(birthdate_str, '%Y%m%d').date() # 计算有效期,18岁以下为8年,18岁及以上为10年 today = datetime.date.today() age = (today - birthdate) // datetime.timedelta(days=365) if age < 18: expiry_years = 8 else: expiry_years = 10 # 计算有效期结束日期 expiry_date = birthdate.replace(year=birthdate.year + expiry_years) - datetime.timedelta(days=1) return expiry_date # 示例用法 id_num = '360428199001012345' expiry_date = calculate_id_expiry(id_num) print(expiry_date.strftime('%Y-%m-%d'))
在上面的代码中,calculate_id_expiry函数接收一个身份证号码作为输入,返回该身份证的有效期结束日期。函数首先提取出生日期,然后计算出有效期的年数。最后,使用出生日期和有效期的年数计算出有效期结束日期。在示例用法中,我们将一个身份证号码传递给calculate_id_expiry函数,并打印出有效期结束日期。
相关文章