在Python中将2014年10月23日转换为2014/10/23

时间:2014-12-24 22:52:43

标签: python date python-3.x

我有'23/Oct/2014'形式的日期字符串,并希望在Python 3中将其转换为'2014/10/23'。我需要的最终输出就像一个字符串。我实现了自己的函数来使用字典进行转换(用于月转换),但我想知道是否有更多的pythonic方式做同样的事情。

2 个答案:

答案 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