从 18 位身份证号码提取出生日期,就是截取号码第 7 位到第 14 位这 8 位字符,这 8 位编码本身就是年月日信息,前四位是年份,接下来两位是月份,最后两位是日期,提取之后可以根据使用需求转换成不同展示格式,这套编码是身份证号码固定分段结构的一部分,设计的时候就把出生年月日固定放在第 7 位至第 14 位位置,所以不需要额外计算,直接截取对应位置字符就可以拿到原始出生信息,日常在表格处理 信息整理场景经常需要执行这个提取操作,掌握定位规则之后,不管是手动查看还是软件自动提取,逻辑都是统一的。身份证号码前 6 位是行政区划地址码,占用前六个位置,所以出生日期编码从第 7 位开始排布,一直到第 14 位结束,后面 15 到 17 位是顺序码,第 18 位是校验码,理解整体分段位置,就不会出现截取错位的问题,提取之后还可以做格式美化,比如把原始的连续八位数字,改成带分隔符的年月日展示形式。
一 手动提取操作清单
1 先确认身份证号码是标准 18 位,字符连续没有空格和额外符号
2 从左往右计数,数到第 7 位,标记起始位置
3 连续读取 8 个字符,也就是第 7 8 9 10 11 12 13 14 位
4 拆分这 8 位,第 1 到 4 位是出生年份,第 5 到 6 位是出生月份,第 7 到 8 位是出生日期
5 按需调整显示样式,原始是例如 19950820,可展示成 1995 年 08 月 20 日
二 软件提取常用方案表格
表格
| 工具类型 | 核心提取思路 | 说明 |
|---|---|---|
| Excel | MID 函数截取 | MID 函数指定起始位置 7,截取长度 8 |
| WPS 表格 | MID 函数截取 | 和 Excel 函数逻辑一致 |
| Python | 字符串切片 | 对身份证字符串按下标截取对应区间 |
| 手动核对 | 逐位计数 | 适合少量数据人工核对 |
三 进阶校验要点
提取出生日期之后,可以增加基础校验,判断月份范围是 01 到 12,日期匹配对应月份的合法天数,这样可以确认提取出来的年月日本身是合理数值,如果遇到旧版 15 位身份证号码,出生日期只有六位,年份只有两位,也就是第 7 到 12 位,需要手动补全世纪前缀,一般是在前面增加 19 或者 20,再转换成完整四位年份,这一点和 18 位号码提取逻辑有差别,处理数据的时候要先区分号码版本。
四 提取之后常见转换形式
原始八位 19920315
格式一 1992 年 03 月 15 日
格式二 1992-03-15
格式三 1992/03/15
可以根据业务表单要求选择对应的输出格式,转换的时候保留原有数值,不要改动月份和日期本身的数字。
整体核心就是定位第 7 位到第 14 位,截取这 8 位字符,拆分成年月日,18 位号码可以直接拿到完整四位年份,旧 15 位号码需要补充世纪,提取之后还可以做合法性校验和格式转换,满足不同整理场景使用。
【相关 FAQ】
问题 1 怎么从身份证号码中提取出生日期 15 位老身份证号码提取出生日期有区别吗
回答 1 怎么从身份证号码中提取出生日期 15 位老身份证号码提取出生日期是取第 7 位到第 12 位,只有六位,年份是两位,需要补充世纪前缀,和 18 位号码直接取 8 位的方式不一样。
问题 2 怎么从身份证号码中提取出生日期 Excel 里面用什么函数
回答 2 怎么从身份证号码中提取出生日期 在 Excel 里面可以使用 MID 函数,起始位置设置为 7,截取长度设置为 8,就可以从身份证号码中提取出生日期原始八位编码。
问题 3 怎么从身份证号码中提取出生日期 提取出来之后可以自动计算年龄吗
回答 3 怎么从身份证号码中提取出生日期 完成从身份证号码中提取出生日期之后,可以把提取得到的年月日转为日期格式,再结合当前日期计算年龄,是信息处理里很常用的后续操作。
问题 4 怎么从身份证号码中提取出生日期 提取出来的月份前面的 0 要保留吗
回答 4 怎么从身份证号码中提取出生日期 原始编码里面月份日期不足两位前面补零,从身份证号码中提取出生日期之后,推荐保留前面的 0,部分业务系统识别的时候会要求保持原有编码格式。
【免责申明】
本文仅介绍从身份证号码提取出生日期的公开编码规则与通用处理方法,不提供任何真实个人身份证号码,具体函数用法和业务格式要求以所用软件以及办理机构规范为准。


