2013-06-26 25 views
0

我在試圖解析由檢查卷的最後一次備份的EC2腳本返回的日期時遇到問題。來自Amazon EC2的Python日期解析EBS

我得到當前字符串格式作爲字符串返回,我想解析它到一個日期時間對象,但由於返回的字符串中的額外字符,datetime.strptime無法正常工作。有沒有辦法讓字符串進入datetime對象,而不必使用dateutils,因爲我也遇到了問題。

這是返回的日期字符串:

2013-06-26T02:01:05.000Z 

這是我的代碼試圖解析它:

startTime = datetime.strptime(s.start_time, '%Y-%m-%dT%H:&M:%S.%fZ') 

顯然這是不工作,當我嘗試打印開始時間它沒有。

回答

1

我認爲這是一個錯字,而不是%你使用&

'%Y-%m-%dT%H:&M:%S.%fZ' 
      ^
      | 
     this is wrong 

演示:

>>> strs = "2013-06-26T02:01:05.000Z" 
>>> datetime.strptime(strs, '%Y-%m-%dT%H:%M:%S.%fZ') 
datetime.datetime(2013, 6, 26, 2, 1, 5) 
+0

OH上帝,我是個傻瓜......感謝您的:) – AlexEve

0

您的格式有錯誤;它不是&M%M

datetime.strptime(t, '%Y-%m-%dT%H:%M:%S.%fZ') 

校正格式工作的很好:

>>> t = '2013-06-26T02:01:05.000Z' 
>>> from datetime import datetime 
>>> datetime.strptime(t, '%Y-%m-%dT%H:&M:%S.%fZ') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Users/mj/Development/Libraries/buildout.python/parts/opt/lib/python2.7/_strptime.py", line 325, in _strptime 
    (data_string, format)) 
ValueError: time data '2013-06-26T02:01:05.000Z' does not match format '%Y-%m-%dT%H:&M:%S.%fZ' 
>>> datetime.strptime(t, '%Y-%m-%dT%H:%M:%S.%fZ') 
datetime.datetime(2013, 6, 26, 2, 1, 5)