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

JavaScript Date.UTC返回异常日期问题:输入2022年12月得2023年1月

JavaScript Date.UTC 日期超出预期问题解析

问题出在月份参数的索引规则上——JavaScript 中Date.UTC和new Date()的月份参数都是从0开始计数的:

  • 0 对应1月,1对应2月,……,11对应12月

你传入的2022, 12, 28里,月份值12超出了合法范围(0-11),JavaScript会自动处理日期溢出:把12月当成“2022年的第13个月”,也就是2023年1月,这就是结果多了30天的原因。

修正后的代码只需把月份参数改为11(对应实际的12月):

new Date(Date.UTC(2022, 11, 28, 11, 26, 0, 0))
// 返回正确结果:Wed Dec 28 2022 14:26:00(注:14:26是本地时区显示,UTC时间实际为11:26)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:10:33