如何转换字符串日期11:01 PM - 2009年8月11日dateTime对象 - Python 3

问题描述:

我试图将字符串日期“11:01 PM - 2009年8月11日”转换为python中的datetime对象。我的代码是:如何转换字符串日期11:01 PM - 2009年8月11日dateTime对象 - Python 3

from datetime import datetime 
datetime.strptime('11:01 PM - 11 Aug 2009', '%I:%M %p - %d %B %Y') 

但我得到一个错误:time data '11:01 PM - 11 Aug 2009' does not match format '%I:%M %p - %d %B %Y'

不知道我已经错过了。

问题是这个月是简短的形式,所以九月而不是九月。必须将其更改为%b而不是%B

更新后的代码是:

from datetime import datetime 
datetime.strptime('11:01 PM - 11 Aug 2009', '%I:%M %p - %d %b %Y') 

使用以下:

datetime.strptime('11:01 PM - 11 Aug 2009', '%I:%M %p - %d %b %Y') 

%B月份为Locale的缩写名称。 一月,二月,...,十二月(en_US); 一月,二月,...,费尔南德斯(de_DE这个)

参考: https://docs.python.org/3.5/library/datetime.html#strftime-and-strptime-behavior