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

Moment.js解析时间字符串返回Invalid Date问题咨询

为什么 moment('08:45') 返回 "Invalid date"?

问题出在moment的默认解析逻辑上:当你只传入纯时间字符串(如'08:45')却不指定解析格式时,moment会调用浏览器原生的Date.parse()方法来处理,但不同环境对这种纯时间格式的解析支持并不统一,大概率会解析失败,返回"Invalid date"。

moment官方明确建议:解析非ISO标准格式的字符串时,一定要显式指定输入格式,避免解析歧义。

你只需要修改代码,在第二个参数里声明输入的时间格式即可:

const m = moment('08:45', 'HH:mm').format('HHmm');

这样moment就能准确识别'08:45'是小时:分钟的格式,正确解析后输出'0845'。

另外补充:如果使用的是moment.js 2.x版本,纯时间字符串的无格式解析兼容性本来就很差,指定输入格式是最稳妥的解决方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:30:54