Quartz.NET Cron表达式星期匹配异常问题排查
问题现象
当使用Quartz.NET的CronExpression时出现匹配异常:
- 表达式
0 35 09 ? * 2按标准Cron规则应匹配每周二09:35:00,但测试时间2024.02.06 09:35:00(当天为周二)时,匹配结果为false - 对应周三的表达式
0 35 09 ? * 3在同一测试时间匹配结果为true - 查询该表达式的下一个有效时间也存在异常
根因分析
这不是Quartz.NET的Bug,而是其设计特性:Quartz.NET的Cron星期字段定义与标准Cron存在差异:
- 标准Cron:
1-7代表周一到周日 - Quartz.NET:
0或7代表周日,1-6依次代表周一到周六
修正方案
如果需要在Quartz.NET中实现每周二09:35的触发,应使用表达式:0 35 09 ? * 3
内容的提问来源于stack exchange,提问作者ZorgoZ
相关产品推荐
相关产品推荐

