2010-05-03 65 views
6

我想從用戶那裏得到一個事件的日期。 輸入只是一個簡單的html文本輸入。 我的主要問題是我不知道如何解析日期。Django日期輸入解析?

如果我嘗試傳遞原始字符串,我得到一個TypeError,如預期的那樣。

Django是否有任何日期解析模塊?

回答

7

如果您使用的是django.forms,請看DateField.input_formats。這個參數允許定義幾種日期格式。 DateField嘗試按照這些格式依次解析原始數據。

+3

換句話說,在OP * *應該是使用Django的形式,如果你正確地設置input_formats將照顧這。 – 2010-05-03 08:30:49

7

Django並不是Python可以這麼說的。這似乎我錯了,因爲uptimebox的答案顯示。

說你解析這個字符串:「週三4月21日19時29分07秒+0000 2010」(這是Twitter的JSON API)

你會解析爲這樣一個DateTime對象:

import datetime 

JSON_time = 'Wed Apr 21 19:29:07 +0000 2010' 
my_time = datetime.datetime.strptime(JSON_time, '%a %b %d %H:%M:%S +0000 %Y') 

print type(my_time) 

你會得到這個,證實它是一個DateTime對象:在strptime()

<type 'datetime.datetime'> 

更多信息,可以發現here