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

使用serverless-local-schedule时Cron任务时区转换日期错误原因咨询

问题分析:serverless-local-schedule生成AWS定时任务日期偏移错误

问题场景

使用serverless-local-schedule配置定时任务如下:

- schedule:
    rate: cron(1 0 20 *? *)
    timezone: Asia/Tokyo

预期任务在东京时区每月20日00:01运行,但AWS控制台生成的触发器表达式为:

cron(1 15 20 *? *)

正确的UTC转换表达式应为cron(1 15 19 *? *)(东京00:01对应UTC前一天15:01),当前生成的表达式导致任务实际运行时间比预期晚一天。

可能的原因

  • 时区转换逻辑未处理日期边界:工具在将东京时区(UTC+9)转换为UTC时,仅做了小时数的减法(0-9=15),但未同步处理日期的回退。当目标时区时间处于当日凌晨(早于UTC+0的时间点),转换为UTC时日期需减1,而工具的逻辑遗漏了这一步,直接保留了原日期20,导致生成的UTC时间对应东京时间次日00:01。
  • 工具版本存在已知bug:旧版本的serverless-local-schedule可能未覆盖跨日期的时区转换场景,这类边界情况的处理逻辑缺失,导致日期计算错误。
  • cron表达式解析异常:AWS CloudWatch的cron表达式格式为分 时 日 月 周 年,若工具对表达式字段的解析顺序或规则理解有误,可能在转换时错误保留了日期字段,未根据时区偏移调整日期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:10:54