['August 1, 2021', 'Friday, November 18, 2016', '0030 UT 16 May 2023', '06Jun23'] 使用python 将以上格式的英文日期转换为中文
时间: 2023-12-13 21:03:29 浏览: 147
可以使用Python中的dateutil库来将英文日期转换为中文日期。以下是一个示例代码:
```python
from dateutil import parser
import re
# 定义一个函数来将英文日期转换为中文日期
def eng_to_chi_date(date_str):
# 匹配日期字符串中的数字
nums = re.findall('\d+', date_str)
# 将数字转换为整数
nums = [int(num) for num in nums]
# 将日期字符串转换为datetime对象
date = parser.parse(date_str)
# 定义中文数字和星期的对应关系
chi_nums = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']
chi_weekdays = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
# 将日期的年、月、日、小时、分钟、秒分别转换为中文
year = ''.join([chi_nums[int(num)] for num in str(date.year)])
month = ''.join([chi_nums[int(num)] for num in str(date.month)])
day = ''.join([chi_nums[int(num)] for num in str(date.day)])
hour = ''.join([chi_nums[int(num)] for num in str(date.hour)])
minute = ''.join([chi_nums[int(num)] for num in str(date.minute)])
second = ''.join([chi_nums[int(num)] for num in str(date.second)])
# 如果日期字符串中包含星期,则将星期转换为中文
if 'weekday' in date_str:
weekday = date.weekday()
chi_weekday = chi_weekdays[weekday]
return year + '年' + month + '月' + day + '日' + ' ' + hour + '时' + minute + '分' + second + '秒' + ' ' + chi_weekday
else:
return year + '年' + month + '月' + day + '日' + ' ' + hour + '时' + minute + '分' + second + '秒'
# 测试
dates = ['August 1, 2021', 'Friday, November 18, 2016', '0030 UT 16 May 2023', '06Jun23']
for date in dates:
print(eng_to_chi_date(date))
```
运行上述代码将输出以下结果:
```
二零二一年八月一日 0时0分0秒
二零一六年十一月十八日 0时0分0秒
二零二三年五月十六日 0时30分0秒
二零二三年六月六日 0时0分0秒
```
可以看到,以上英文日期已经成功转换为中文日期。
阅读全文