给定我无法更改的日期格式:
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]})')