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

Date.toLocaleDateString日期格式化输出月份与输入不符问题咨询

代码运行逻辑及结果成因解释

核心原因

JavaScript Date 构造函数的月份入参采用0起始计数规则,和日常使用的112对应112月的习惯不同:

  • 入参0对应1月(January)
  • 入参1对应2月(February)
  • ...
  • 入参5对应6月(June)
  • 入参11对应12月(December)

你代码中传入的月份参数是05,对应公历6月,所以输出June 10, 2020是符合设计规范的正常结果。

完整执行流程

  1. 运行const date = new Date(2020, 05, 10):
    按照Date构造函数的参数解析规则,生成对应2020年6月10日的日期对象。
  2. 定义options配置:指定格式化输出规则为数字年份、完整月份名称、数字日期。
  3. 调用date.toLocaleDateString('en', options):将日期对象按英文区域的展示规则、结合配置做本地化格式化,得到June 10, 2020字符串。
  4. 控制台打印该字符串结果。

拓展说明

如果预期得到5月10日的结果,只需将月份入参改为4即可:const date = new Date(2020, 04, 10),格式化后输出为May 10, 2020。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 03:39:01