问题.在我的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代码片段,或一个库,我错过了,做这件事?如果不是,我将自己编写解析器。如果看起来还不算太糟的话,想要在开源中发布它。
发布于 2014-04-26 13:52:46
复发性是一个库,它将执行支持递归日期的自然语言日期解析。它与您提供的API不匹配,但允许您创建可与Python的datetime
库一起使用的规则。
从他们的Github页面:
日期和重复事件的自然语言解析 示例 日期乘以
循环事件
杂乱字符串
https://stackoverflow.com/questions/23312829
复制相似问题