我有'23/Oct/2014'
形式的日期字符串,并希望在Python 3中将其转换为'2014/10/23'
。我需要的最终输出就像一个字符串。我实现了自己的函数来使用字典进行转换(用于月转换),但我想知道是否有更多的pythonic方式做同样的事情。
答案 0 :(得分:3)
您可以使用datetime
library来解析字符串,然后再次格式化为字符串:
from datetime import datetime
converted = datetime.strptime(original, '%d/%b/%Y').strftime('%Y/%m/%d')
使用datetime.datetime.strptime()
解析输入字符串,然后使用datetime.datetime.strftime()
将结果对象格式化为字符串。
演示:
>>> from datetime import datetime
>>> original = '23/Oct/2014'
>>> datetime.strptime(original, '%d/%b/%Y').strftime('%Y/%m/%d')
'2014/10/23'
答案 1 :(得分:0)
如果你只想要一个字符串,你的dict映射和格式可以正常工作,如果你不想要datetime对象,我没有看到使用datetime的重点:
dt = '23/Oct/2014'
dates = dict(Jan="01", Feb="02", Mar="03", Apr="04", May="05", Jun="06", Jul="07", Aug="08", Sep="09", Oct="10",
Nov="11", Dec="12")
day,mon, year = dt.split("/")
print("{}/{}/{}".format(year,dates[mon],day))
2014/10/23