首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Croniter解析Quartz cron表达式

用Croniter解析Quartz cron表达式
EN

Stack Overflow用户
提问于 2021-04-23 16:14:33
回答 1查看 1.5K关注 0票数 1

此代码:

代码语言:javascript
复制
starting_point = datetime.datetime.now() - datetime.timedelta(hours=1)
cron = croniter.croniter('44 5 19 ? * WED,THU,FRI *', starting_point)
cron.get_next(datetime.datetime)

在以下方面的成果:

croniter.croniter.CroniterBadCronError:迭代器表达式必须指定确切的5或6列。

但是,在使用https://www.freeformatter.com/cron-expression-generator-quartz.html时,相同的表达式会导致

在每个星期三,星期四和星期五,每个月的晚上19:05:44

如何用croniter解析这个cron表达式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-23 17:09:58

您所指的网站使用支持字段的石英调度器

代码语言:javascript
复制
Seconds, Minutes, Hours, Day Of Month, Month, Day Of Week, Year

但是在接线器中,Seconds字段是可选的,显然是在最后一个位置(我没有发现这是特别详细的文档,并通过实验得出结论):

代码语言:javascript
复制
Minutes, Hours, Day Of Month, Day Of Week, Seconds

此外,它似乎不支持?通配符。

所以一个等价的表达式似乎是

代码语言:javascript
复制
5 19 * * WED,THU,FRI 44

演示:

代码语言:javascript
复制
>>> import croniter
>>> import datetime
>>> c = croniter.croniter('5 19 * * WED,THU,FRI 44')
>>> print(datetime.datetime.utcfromtimestamp(next(c)))
2021-04-23 19:05:44
>>> print(datetime.datetime.utcfromtimestamp(next(c)))
2021-04-28 19:05:44
>>> print(datetime.datetime.utcfromtimestamp(next(c)))
2021-04-29 19:05:44
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67233513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档