python编写一函数,实现从输入的18位的身份证号码中获取出身年月日,并以类似于“2006年08月12日”的形式输出自己的出生日期。
时间: 2023-06-20 14:05:47 浏览: 76
可以使用 Python 自带的 `datetime` 模块来实现这个需求。具体思路是,根据身份证号码中的出生年月日信息,创建一个 `date` 对象,然后使用 `strftime` 方法将其格式化为需要的字符串形式。
下面是一个实现这个需求的函数:
```python
import datetime
def get_birthdate(id_card):
birth_str = id_card[6:14] # 身份证号中的出生年月日信息
birth_date = datetime.datetime.strptime(birth_str, '%Y%m%d').date() # 创建 date 对象
return birth_date.strftime('%Y年%m月%d日') # 将日期格式化为字符串形式
```
这个函数接受一个 18 位身份证号码作为输入,返回一个形如“2006年08月12日”的字符串,表示出生日期。可以这样调用:
```python
id_card = '110101200608120038' # 一个样例身份证号码
birthdate = get_birthdate(id_card)
print(birthdate) # 输出:2006年08月12日
```
相关问题
python 从键盘输入身份证号码,编写程序截取出身份证中的出生年月日并输出
在Python中,处理身份证号码通常需要使用正则表达式(regex)来解析。中国身份证号码的格式是固定的,前17位用于存储个人信息,最后一位用于校验。其中,第7位到第14位代表的是出生日期(年月日格式)。以下是一个简单的例子:
```python
import re
def get_birthday_from_id(id_number):
pattern = r"(\d{6})(\d{4})(\d{2})" # 正则模式匹配年月日
match = re.match(pattern, id_number)
if match:
birth_date = f"{match.group(2)}-{match.group(3)}-{match.group(1)}"
return birth_date
else:
print("身份证号码格式错误")
return None
# 用户输入
id_input = input("请输入身份证号码: ")
birth_date = get_birthday_from_id(id_input)
if birth_date:
print(f"出生日期为: {birth_date}")
else:
print("无法获取出生日期")
python编写一个程序:输入一个18为身份证和11为的手机号码,将身份证号中代表出生年月日的字符和手机号的4~7位用"*"号替换后输出
首先,我们需要创建一个Python程序,该程序会接收两个输入参数:一个18位的身份证号码和一个11位的手机号码。然后,程序将对身份证号中代表出生年月日的部分(第7位到第14位),以及手机号码的第4位到第7位进行替换,用星号(*)来隐藏这些数字。最后,程序会输出修改后的字符串。
下面是一个简单的Python程序实现:
```python
def mask_id_and_phone(id_number, phone_number):
# 检查身份证号码长度是否正确
if len(id_number) != 18:
return "身份证号码长度不正确,请输入18位身份证号码。"
# 检查手机号码长度是否正确
if len(phone_number) != 11:
return "手机号码长度不正确,请输入11位手机号码。"
# 对身份证号中的出生日期部分进行替换
birth_date = id_number[6:14]
masked_birth_date = '*' * len(birth_date)
# 对手机号码的中间四位进行替换
masked_phone = phone_number[:3] + '*' * 4 + phone_number[7:]
# 合并处理后的身份证号码和手机号码,并返回结果
result = id_number[:6] + masked_birth_date + id_number[14:] + ' ' + masked_phone
return result
# 输入身份证号码和手机号码
id_input = input("请输入18位身份证号码:")
phone_input = input("请输入11位手机号码:")
# 输出处理后的结果
print(mask_id_and_phone(id_input, phone_input))
```
你可以将上述代码复制到Python环境中执行,然后按照提示输入相应的身份证号码和手机号码,程序将会输出替换后的字符串。
阅读全文