Python提取身份证出生日期
时间: 2023-05-12 19:04:48 浏览: 580
可以使用正则表达式来提取身份证的出生日期,具体代码如下:
```python
import re
id_card = '110101199003074518'
birth_date = re.findall(r'\d{4}(\d{2})(\d{2})', id_card)[0]
print('出生日期:{}年{}月{}日'.format(id_card[6:10], birth_date[0], birth_date[1]))
```
输出结果为:出生日期:1990年03月07日
相关问题
python索引身份证提取输出出生年月日
在Python中提取身份证号码中的出生年月日信息,首先需要确定身份证号码的格式和长度。中国大陆的身份证号码为18位,其中第7位到第14位代表出生年月日。具体来说,第7到第10位表示出生年份,第11到第12位表示月份,第13到第14位表示日期。
以下是一个简单的Python代码示例,用于从18位身份证号码中提取出生年月日:
```python
def extract_birthday(id_number):
if len(id_number) == 18:
year = id_number[6:10] # 从第7位开始到第10位结束
month = id_number[10:12] # 从第11位开始到第12位结束
day = id_number[12:14] # 从第13位开始到第14位结束
return year, month, day
else:
return "身份证号码格式错误"
# 示例
id_number = '123456199001011234'
birthday = extract_birthday(id_number)
if isinstance(birthday, tuple):
print(f"出生年月日是: {birthday[0]}年{birthday[1]}月{birthday[2]}日")
else:
print(birthday)
```
在上面的代码中,`extract_birthday` 函数接收一个身份证号码字符串作为参数,首先检查长度是否为18位,然后分别提取并返回年、月、日。如果身份证号码格式不正确,则返回错误信息。
python判断身份证号日期不合法
可以使用Python的datetime模块来判断身份证号中的日期是否合法,具体实现可以参考以下代码:
```python
import datetime
def is_valid_date(date_str):
try:
datetime.datetime.strptime(date_str, '%Y%m%d')
return True
except ValueError:
return False
id_card = '110101199003075872'
birth_date_str = id_card[6:14]
if is_valid_date(birth_date_str):
print('身份证号中的出生日期合法')
else:
print('身份证号中的出生日期不合法')
```
以上代码中,我们首先定义了一个`is_valid_date`函数,该函数用来判断一个日期字符串是否合法,如果合法则返回True,否则返回False。然后我们从身份证号中提取出出生日期,并调用`is_valid_date`函数来判断其是否合法。如果合法,则输出`身份证号中的出生日期合法`,否则输出`身份证号中的出生日期不合法`。