问题。在我的Django应用程序中,用户创建用于计划执行的任务。用户是非常非技术性的,如果他们能够编写常规的人类可读表达式来定义何时执行某个任务,这将是一件好事,例如:
{就是受这个启发。目前,只有日期是必要的,没有时间。我花了几个小时在谷歌上搜索一个图书馆来做这件事,但是没有什么运气。我期待一个函数,比如,in_range(expression, date)
,这样:
>>> in_range('every monday, wednesday', date(2014, 4, 28))
True
>>> in_range('every end of month', date(2014, 5, 12))
False
>>> in_range('every millenium', date(2014, 5, 8))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unknown token "millenium".
变体。这就是我看过的。在
datetime
库执行日期解析,而不是如上所述的日期范围解析。在rrule
支持重复日期,功能非常强大,但仍然不支持解析。在那么,有没有一个Python代码片段,或者一个我错过的库来完成这个任务呢?如果没有,我将自己编写解析器。如果看起来还不错的话,希望在开源环境下发布它。在
Recurrent是一个支持重复日期的自然语言日期分析的库。它与您提供的API不匹配,但允许您创建可以与Python的
datetime
库一起使用的规则。在从他们的Github页面:
相关问题 更多 >
编程相关推荐