2015-08-27 61 views
-2
stime = '2015-08-20T06:43:18.733Z' 
start_time = time.strptime(stime,"%Y-%m-%dT%H:%M:%S.%fZ") 

我從數據庫中獲取這個時間,它是以字符串的形式。我試圖搜索如何將此字符串轉換爲日期時間格式,並在本網站的其中一個問題中找到了此解決方案。但在這種時間格式中也有字母。我如何刪除這些?請幫忙。使用python進行日期時間格式轉換的字符串

運行代碼時我得到了以下錯誤:

ValueError: time data '2015-08-20T06:43:18.733Z' does not match format 
'%Y-%m-%d T %H:%M:%S.%fZ' 

很抱歉,如果這是一個非常基本的問題。任何幫助將不勝感激。 在此先感謝。

+0

它爲我在Python 2.7 – muddyfish

+0

在錯誤的時間格式爲''%Y-%間%d T%H:%M:%S%fZ''周圍有'T'的空間。並且它與'「%Y-%m-%dT%H:%M:%S.%fZ一起工作」' – Kasramvd

+0

它不適用於我,您能否提出任何其他建議。我只使用python 2.7。有或沒有空間的 –

回答

0

嘗試運行您準確發佈的格式字符串。它正在用Python 2.7來完成我的工作。 ValueError顯示了像Kasramvd所說的T左右的空格。

這工作:

stime = '2015-08-20T06:43:18.733Z' 
start_time = time.strptime(stime,"%Y-%m-%dT%H:%M:%S.%fZ") 

這完全複製你的錯誤:

stime = '2015-08-20T06:43:18.733Z' 
strformat = '%Y-%m-%d T %H:%M:%S.%fZ' 
start_time2 = time.strptime(stime, strformat) 

ValueError: time data '2015-08-20T06:43:18.733Z' does not match format '%Y-%m-%d T %H:%M:%S.%fZ' 
+0

感謝您的建議。我再次嘗試,我不知道爲什麼之前我得到了錯誤,但現在同樣的事情工作正常。但是你能告訴我如何得到那個毫秒,因爲它只返回秒。我還需要增加毫秒以進一步處理。 –

+0

你需要爲此使用'datetime'。 'start_time = datetime.datetime.strptime(stime,「%y-%m-%dT%H:%M:%S.%fZ」)'給我們:'datetime.datetime(2015,8,20,6, 43,18,733000)'和'start_time.microsecond' ='733000'。 –

相關問題