Python datetime.strptime - 解析复杂的字符串

时间:2015-06-29 12:19:45

标签: python python-datetime

我想通过以下字符串制作日期时间' 2015-06-29T11:55:30.000000Z'。

我试过了:

import datetime
print datetime.datetime.strptime("2015-06-29T11:55:30.000000Z", "%y-%m-%dT%H:%M:%S.000000Z")   

我获得了以下错误:

Traceback (most recent call last):
  File "x1.py", line 5, in <module>
    print datetime.datetime.strptime(date, "%y-%m-%dT%H:%M:%S.000000Z")   
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '2015-06-29T11:55:30.000000Z' does not match format '%y-%m-%dT%H:%M:%S.000000Z'

我做错了什么?如何解析它?

1 个答案:

答案 0 :(得分:2)

大写%Y

import datetime as DT
DT.datetime.strptime("2015-06-29T11:55:30.000000Z", "%Y-%m-%dT%H:%M:%S.000000Z")   
# datetime.datetime(2015, 6, 29, 11, 55, 30)

%y匹配两位数年份 - years without century as a decimal number year%Y匹配4位数年份。