如何将“28 JUL 1795”之类的字符串转换为格式为“%B%d,%Y”的日期?

时间:2014-03-03 19:15:23

标签: python datetime strftime strptime

我使用以下行来传输我的日期字符串,但它给了我一个错误。

print datetime.datetime.strptime(arg, '%d %b %Y').date().strftime("%B %d, %Y")
  

ValueError: time data '28 JUL 1795' does not match format '%B %d %Y'

2 个答案:

答案 0 :(得分:2)

此行为无法重现。以下按预期工作:

>>> datetime.datetime.strptime('28 JUL 1995', '%d %b %Y').date().strftime('%B %d, %Y')
'July 28, 1995'

也许你的输入字符串不是你想象的那样。

答案 1 :(得分:0)

像这样使用

time.strptime(“1769年7月28日”,“%d%b%y”)

这是一个指向strptime方法的链接,它会为你转换http://docs.python.org/2/library/time.html#time.strptime

这是一个类似问题的链接Converting string into datetime