You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring @Scheduled的cron表达式默认使用系统时区还是UTC?

Spring @Scheduled 注解cron表达式默认时区说明

默认采用应用运行所在服务器的系统默认时区,而非UTC时区。

  • 该行为是注解的默认逻辑:只要未通过@Scheduled的zone属性手动指定时区,框架就会读取当前运行环境的系统默认时区解析cron表达式,计算任务触发时间。
  • 若需要固定使用UTC或其他指定时区(比如多节点跨时区部署时保证所有节点任务触发时间一致),必须显式配置zone参数,使用示例:
// 配置为UTC时区每日12点整执行任务
@Scheduled(cron = "0 0 12 * * *", zone = "UTC")
public void scheduledBizTask() {
    // 编写具体业务逻辑
}

补充:Spring 5.3版本迭代中升级了cron表达式的解析能力,支持了更灵活的cron语法配置,但默认时区的规则没有变更,未手动配置时依然沿用系统默认时区。

内容的提问来源于stack exchange,提问作者Archimedes Trajano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 03:33:06