如何将指定日期格式转换为Cron格式?
日期转Cron格式的实现方法
嘿,这个转换其实非常直观,核心就是把你的日期时间拆解对应到Cron表达式的各个字段上就行!我给你一步步讲清楚:
先明确Cron的字段顺序(以你示例的5位标准格式为例)
标准的5位Cron表达式字段顺序是:分钟 小时 日期 月份 星期
每个字段的取值范围:
- 分钟:0-59
- 小时:0-23(24小时制)
- 日期:1-31
- 月份:1-12(可以写数字,也可以补前导零比如
05) - 星期:0-6或1-7(不同工具略有差异,不过如果指定了具体日期,这里填
*表示任意即可)
结合你的示例拆解
你的示例日期是2018-05-15 17:30:00,我们逐个对应:
- 分钟:30 → 对应Cron第1位
- 小时:17 → 对应Cron第2位
- 日期:15 → 对应Cron第3位
- 月份:05 → 对应Cron第4位
- 星期:因为已经指定了具体的5月15日,所以星期不需要限制,填
*
组合起来就是你给出的30 17 15 05 *,完美匹配!
通用转换步骤
不管你用哪个日期,都可以按这个步骤来:
- 第一步:提取日期时间中的分钟,作为Cron的第1位
- 第二步:提取小时(必须是24小时制,比如下午5点就是17),作为Cron的第2位
- 第三步:提取日期(1-31),作为Cron的第3位
- 第四步:提取月份(1-12,可补前导零),作为Cron的第4位
- 第五步:星期字段填
*(如果是按星期触发才需要填对应值,指定具体日期时用*即可)
补充:带秒的6位Cron格式(现在很多工具支持)
如果你的调度工具支持6位Cron(比如Quartz、Airflow),字段顺序会多一个秒在最前面:秒 分钟 小时 日期 月份 星期
那你的示例日期2018-05-15 17:30:00对应的6位Cron就是00 30 17 15 05 *
内容的提问来源于stack exchange,提问作者Mohan3010
相关产品推荐
相关产品推荐

