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

如何将2021-11-26T23:19:00.000+11:00格式日期转换为MM/DD/YYYY HH:mm

问题原因

你的代码有3个核心错误导致解析结果异常:

  • 你写的解析格式串外层多了冗余的单引号,moment会将单引号视为要匹配的文本内容,和你输入的日期格式不匹配,才会出现2026/11/01这种异常输出
  • 解析格式里误用了dd标识日期,moment中dd是星期缩写的格式符,标识日期应当用DD
  • 你输入的日期后缀是+11:00时区偏移,不是Z标识的UTC时间,写死Z作为格式后缀会匹配失败。

直接调用moment(dateToBeFormatted)返回无效日期,一般是moment版本对带偏移的ISO格式自动解析存在兼容问题,或者你传入的dateToBeFormatted不是标准字符串类型。

解决方案

使用匹配输入格式的解析规则即可:

// 匹配带时区偏移的ISO 8601格式输入,输出MM/DD/YYYY HH:mm:ss格式
const formattedDate = moment(dateToBeFormatted, "YYYY-MM-DDTHH:mm:ss.SSSZ").format("MM/DD/YYYY HH:mm:ss");

如果你需要将时间转换为UTC时间输出,可添加utc()方法:

const formattedUtcDate = moment(dateToBeFormatted, "YYYY-MM-DDTHH:mm:ss.SSSZ").utc().format("MM/DD/YYYY HH:mm:ss");

如果仍出现无效日期错误,检查两点:

  • 确认dateToBeFormatted为字符串类型,不是Date对象或其他变量类型
  • 确认moment包安装正常,导入路径无误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:06:07