我试图在python中解析日期。我的代码适用于除Sept之外的所有其他月份
这是我的代码
time.strptime("Sept. 30, 2014", "%b. %d, %Y")
我收到此错误
ValueError: time data 'Sept. 30, 2014' does not match format '%b. %d, %Y'
答案 0 :(得分:5)
九月的缩写是9月,而不是9月。
>>> datetime.strptime("Sep. 30, 2014", "%b. %d, %Y")
datetime.datetime(2014, 9, 30, 0, 0)
Here's the list of all abbreviated month names for the en_US local.
答案 1 :(得分:0)
使用“9月号”代替“9月”似乎很常见。正如@ morgan-thrapp所建议的那样,你必须用后者替换前者:
time.strptime("Sept. 30, 2014".upper().replace("SEPT", "SEP"), "%b. %d, %Y")
使用upper()
会将所有小写字符转换为大写字母,因此replace
的使用更为直接。