将dateFormat转换为python中可读性更强的格式



给定我无法更改的日期格式:

20201216133326

前4位数字代表年份,5和6代表月份,7和8代表日期,其余的都是多余的,我不想这样,有没有一种方法可以得到字符串形式的输出:

'年份:2020,月份:12月,日期:16(周三('

Python 3.9

无需自己解析字符串,datetime模块具有所有必要的功能:

from datetime import datetime
d = datetime.strptime('20201216133326', '%Y%m%d%H%M%S')
print(d.strftime('Year: %Y, Month: %B, Day: %d (%A)'))

输出:

Year: 2020, Month: December, Day: 16 (Wednesday)

strptime的确切格式代码取决于您的数字是否为零填充。我还假设一天之后是小时、分钟和秒(此处未打印(。

您可以这样做。您可以使用字符串切片和日期时间模块。还有列表!

import datetime
date = "20201216133326"
year = int(date[0:4])
month = int(date[4:6])
day = int(date[6:8])
mlist = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
t = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
r = datetime.datetime.today().weekday()
print(f'Year: {year}, Month: {mlist[month-1]}, day: {day} ({t[r]})')

最新更新