网站首页 网站地图
网站首页 > 游戏秘籍 > 在身份证号码中提取出生年月日

在身份证号码中提取出生年月日

时间:2026-04-01 20:18:49

在身份证号码中提取出生年月日,需要根据中国身份证号码的结构来解析。

中国身份证号码结构:

中国身份证号码是 18位,结构如下:

6位:地址码(前6位)
8位:出生年月日(7-14位)
3位:顺序码(15-17位)
1位:校验码(18位)

说明:

  • 前6位:地址码,代表发证机关的行政区划。
  • 7-14位:出生年月日,格式为 YYYYMMDD(即年、月、日)。
  • 15-17位:顺序码,表示该身份证号码的顺序。
  • 18位:校验码,用于验证身份证号码的合法性。

示例:

假设身份证号码是:11010119900307231X

  • 出生年月日199003071990年3月7日

如何提取:

你可以使用以下方法提取出生年月日:

方法一:Python(字符串切片)

id_card = "11010119900307231X"
birthday = id_card[6:14]  # 从第7位开始,取8位
print(birthday)  # 输出:19900307

方法二:使用正则表达式

import re

id_card = "11010119900307231X"
birthday = re.search(r'(\d{4})(\d{2})(\d{2})', id_card[6:14]).groups()
print(birthday)  # 输出:('1990', '03', '07')

注意:

  • 中国身份证号码的出生年月日格式是 YYYYMMDD,即年、月、日各占两位。
  • 例如:199003071990年3月7日

总结:

位数 内容 说明
6 地址码 无意义,不影响提取
7-14 出生年月日 用于提取出生日期
15-17 顺序码 无意义,不影响提取
18 校验码 无意义,不影响提取

如果你需要将 YYYYMMDD 转换为 YYYY年MM月DD日 格式,也可以使用格式化字符串:

birthday_str = f"{birthday[0]}年{birthday[1]}月{birthday[2]}日"
print(birthday_str)  # 输出:1990年03月07日

如需进一步处理(如验证、转换、格式化等),也可以告诉我!