2009-07-23 56 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相对容易学习。