Spring @Scheduled Cron 表达式生成器
本页面介绍 Spring @Scheduled 使用的 cron 语法:字段结构、星期编号规则,以及支持哪些特殊字符。
快速参考
字段数量
6
秒字段
支持
年份字段
不支持
时区
本地 / 可配置
特殊字符(L / #)
支持
是否需要 "?"
不支持
星期编号规则
Sun=0, Mon=1, Tue=2, Wed=3, Thu=4, Fri=5, Sat=6
常用 Spring @Scheduled Cron 表达式
| 每 5 分钟 | 0 */5 * * * * |
| 每 15 分钟 | 0 */15 * * * * |
| 每小时 | 0 0 * * * * |
| 每天午夜 | 0 0 0 * * * |
| 每天上午 9 点 | 0 0 9 * * * |
| 每个工作日上午 9 点 | 0 0 9 * * MON-FRI |
| 每周一上午 9 点 | 0 0 9 * * MON |
| 每天两次(0 点和 12 点) | 0 0 */12 * * * |
| 每月第一天 | 0 0 0 1 * * |
| 每月最后一天 | 0 0 23 L * * |
常见问题
Spring @Scheduled 与标准 Linux cron 有什么不同?
Spring @Scheduled 在字段数量、星期编号规则或支持的特殊字符方面与 Linux cron 不同——具体差异请参见上方的快速参考表。
可以把 Linux cron 表达式自动转换为 Spring @Scheduled 格式吗?
可以——将其粘贴到上方的多平台 Cron 工具(或主 Cron 编辑器页面),切换到 Spring @Scheduled 标签页即可立即获得等效表达式。
Spring @Scheduled 支持 L、W 或 # 吗?
支持。Spring @Scheduled 支持 L(每月最后一天)和 #(每月第 N 个星期几,例如 "MON#1" 表示第一个周一)。
Spring @Scheduled 按我的本地时区运行,还是按 UTC?
Spring @Scheduled 按您配置的时区计算计划时间(若未配置则使用系统/服务器时区)——并不固定为 UTC。