2009-08-17 150 views
4

我需要從12/09/2008-12:40:49形式的字符串(輸入到url)中轉換日期。顯然,我需要在它的末尾有一個UNIX時間戳,但在得到這些之前,我首先需要Date對象。Django - 字符串到日期 - 日期到UNIX時間戳

我該怎麼做?我無法找到以該格式顯示日期的資源?謝謝。

回答

12

您需要strptime方法。如果您使用的是Python 2.5或更高版本,則這是datetime上的一種方法,否則您必須使用timedatetime模塊的組合來實現此目的。

Python 2.5的了:

from datetime import datetime 
dt = datetime.strptime(s, "%d/%m/%Y-%H:%M:%S") 

低於2.5:

from datetime import datetime 
from time import strptime 
dt = datetime(*strptime(s, "%d/%m/%Y-%H:%M:%S")[0:6]) 
+0

仍然出現錯誤? :S >>> >>> time1 =「08-05-2009-05-10-54」 >>> dt = datetime.strptime(time1,「%d-%m-%Y%H: %M:%S 「) 回溯(最近通話最後一個): 文件」 」,1號線,在 文件 「/usr/lib/python2.5/_strptime.py」,第331行,在strptime (data_string,format)) ValueError:時間數據與格式不匹配:data = 08-05-2009-05-10-54 fmt =%d-%m-%Y%H:%M:%S >> > – Federer 2009-08-17 08:51:41

+0

其實,那是我的錯!非常感謝你! – Federer 2009-08-17 08:52:36

2

您可以使用time.strptime()方法來分析日期字符串。這將返回一個time_struct,您可以傳遞給time.mktime()(當字符串表示本地時間時)或calendar.timegm()(當字符串是UTC時間時),以獲得自紀元以來的秒數。