2014-10-20 194 views
-4

我在日期時間庫中遇到了一些麻煩。這裏是我的代碼:日期時間Python解析

import time 
import datetime 
TIME = 2014-10-20 14:31:27 
DATETIME = datetime.datetime.strptime(TIME, "%Y-%m-%d %H:%M:%S") 

當我嘗試運行此,我得到:

DATETIME = datetime.datetime.strptime(TIME, "%Y-%m-%d %H:%M:%S") 
TypeError: strptime() argument 1 must be string, not datetime.datetime 

是時候不是一個字符串?

TIME正在從Tweepy庫中獲取它的值,但文檔沒有說明它傳遞的時間是否實際上是一個字符串。

+0

當* I *嘗試運行時,我得到一個'SyntaxError'(如預期的那樣,因爲對'TIME'的賦值沒有任何意義)。如果我在它周圍添加引號,它工作得很好。鑑於你顯然已**有** datetime',爲什麼試圖重新轉換它? – jonrsharpe 2014-10-20 15:30:09

+0

不,因爲你忘了引號。我真的很驚訝你真的得到了這樣的消息,它會崩潰得更快......如果你從其他地方獲得價值,'type(TIME)'返回什麼? – matsjoyce 2014-10-20 15:32:48

+0

這結束了工作'DATETIME = datetime.datetime.strptime(str(TIME),「%Y-%m-%d%H:%M:%S」) – 2014-10-20 15:35:41

回答

0

試試這個:

print thedate.strftime('%Y-%m-%d @ %H:%M:%S') 
0

此:

thedate = datetime.datetime.strptime(timestamp, "%Y-%m-%d %H:%M:%S.%f") 

您可以檢查結果

TIME = 2014-10-20 14:31:27 

不是一個有效的Python代碼。我知道你不用這種方式創建對象,而是從庫中獲取它,它不是一個字符串,而是日期時間對象。所以,錯誤信息是自我解釋的。你不需要解析這個對象,把它當作一個字符串來獲取日期時間,它已經是一個日期時間對象。

0

TypeError: strptime() argument 1 must be string, not datetime.datetime

例外說TIME已經是datetime對象。從您的代碼中刪除strptime()行。 DATETIME = TIME