2012-11-13 29 views
0

我有一個字符串,名稱爲myDateTime,值爲'datetime.datetime(2012,11,16,3,0)'。在Python中將字符串轉換爲日期時間並返回到具有不同格式的字符串

myDateTime = 'datetime.datetime(2012, 11, 16, 3, 0)' 

在Python中,如何獲取格式爲「11-16-12 03:00:00」的字符串?在Python中運行SQL查詢後,我得到這個字符串,以便用datetime和其他東西拉取一個列表。

我一直在使用沿着

x = myDateTime.strftime("%Y-%m-%d %H:%M:%S") 

線的東西試過,我得到的錯誤「屬性錯誤:‘海峽’對象有沒有屬性‘的strftime’」。

我也嘗試過使用strptime,但是myDateTime不是datetime類型。如果我只能得到字符串逐字解釋,那麼我會有一個我可以使用的日期時間對象。任何幫助是極大的讚賞!

+1

'mm-dd-yy'是一種可怕的格式。如果使用mdy命令,最好使用'/',而使用dmy,最好使用'.'和ymd,使用'-'來分隔。 – glglgl

回答

4

您的對象mydatetime被引號包圍:它是一個字符串。剛落引號:

myDateTime = datetime.datetime(2012, 11, 16, 3, 0) 
myDatetime.strftime("%Y-%m-%d %H:%M:%S") 

如果mydatetime是返回字符串的函數的輸出(如您的SQL查詢),你可以嘗試使用eval將其改造成一個普通的Python對象。 儘管如此,但非常小心,因爲eval根本不安全。您可能需要改用第三方模塊asteval

+0

謝謝Pierre。這確實是SQL查詢的輸出。我會玩弄asteval,看看我是否可以解決我的問題。我將不得不升級我的Python版本,因爲我仍然在2.5,而且asteval不支持它。我會做到這一點,並在我完成時檢查。 –

+0

[asteval](http://newville.github.io/asteval/)是如何工作的? –

相關問題