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

JavaScript使用moment转换13-04-2023为MMM Do YYYY结果异常如何修复

问题根因

你传入的日期字符串是13-04-2023,属于DD-MM-YYYY(日-月-年)的排列格式,但moment解析未指定格式的字符串时,会优先按ISO标准、内置默认规则尝试拆解,无法正确识别这种自定义顺序的日期串,才会把字段错配解析成0018年10月14日,输出Oct 14th 0018的错误结果。

修复方法

解析时第二个参数明确传入输入日期的格式,告诉moment每个位置的字段代表什么即可:

// 明确指定输入字符串为「日-月-年」格式
moment(ResData.mDate, "DD-MM-YYYY").format("MMM Do YYYY")

上述代码执行后会正确输出Apr 13th 2023,和预期结果一致。

可选优化

  • 如果要避免格式不匹配时静默解析出错误日期,可以开启严格解析模式,在第三个参数传入true,当输入字符串和指定格式不匹配时会直接返回无效日期提示,方便排查问题:
moment(ResData.mDate, "DD-MM-YYYY", true).format("MMM Do YYYY")
  • 如果需要输出中文格式的月、日序,提前引入moment对应的中文语言包即可,输出结果会自动转为中文表述。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 19:15:38