2009-07-23 37 views
6

我不記得我正在使用哪個應用程序,但我確實記得它具有非常整潔的日期解析/解釋。智能日期解釋

例如,您可以鍵入'兩天前'或'明天',它會理解。

任何圖書館建議?獎勵積分,如果可以從Python使用。

+0

http://www.rememberthemilk.com/和GNU * at *「允許相當複雜的時間規範」 – Utaal 2009-07-23 00:40:38

回答

6

請參閱我的SO answer以獲取三個Python日期解析庫的鏈接。其中最常用的是python-dateutils,但不幸的是它無法處理所有格式。

8

也許你在想PHP的strtotime()功能,在Swiss Army Knife of date parsing

男人,我怎麼strtotime()之前做。哦,我知道,我有一個482行功能來解析日期格式並返回時間戳。而且我仍然不能做很酷的東西。就像今晚我需要弄清楚感恩節在美國的時候。我知道這是11月份的第四個星期四。所以,我從一些數學的東西開始,並檢查11月1日這一週的哪一天將會繼續。所有這些讓我頭部受傷。所以,我只是試着玩這個遊戲。

strtotime("thursday, november ".date("Y")." + 3 weeks") 

這給了我感恩節。真棒。

不幸的是,似乎沒有Python等價物。我能找到的最接近的是dateutil.parser模塊。

+0

您可以在python中運行如下內容:[item for item in list(rrule.rrule(rrule.MONTHLY ,count = 12,byweekday = rrule.TH(4),dtstart = datetime.date.today()))if item.month == 11] [0] .strftime('%Y-%m-%d') 。這將計算每個月的第四個星期四的日期,爲期一年。然後選擇一個月份爲11月份的日期,並確定下一個感恩節的日期。 – user2694306 2014-12-11 08:07:23

2

我見過的蟒蛇簡單的是here

它使用pyparsing,並且只是一個小腳本,但它可以滿足您的要求。然而,如果需要的話,它的優點是很容易擴展和改進。解析過程中,Pyparsing相對容易學習。