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

Moment.JS处理不同日期时无法正确获取月份且提示无效日期

Moment.js 无效日期报错修复方案

问题根因

  • 首次解析原始日期数据时,你明确指定了输入格式为DD/MM/YYYY,可以正常识别日期
  • 后续调用moment(l)解析已经格式化完成的DD/MM/YYYY格式字符串时,没有传入对应格式参数,Moment.js 默认会按照MM/DD/YYYY的规则解析:当日期的日字段数值大于12时,会被误判为非法月份,触发Invalid date错误。

修复方案

方案1(推荐):复用已解析的Moment对象

无需重复解析日期字符串,直接保存首次解析的对象使用即可:

// 先保存解析完成的Moment对象
const odMoment = moment(this.cellData[0]['"OD"'], "DD/MM/YYYY");
const l = odMoment.format("DD/MM/YYYY");
const p = moment().format("M");
// 直接复用已有对象,避免重复解析出错
console.log(' l ', odMoment, ' p ', p);

方案2:解析字符串时明确指定格式

如果确实需要单独解析格式化后的字符串,必须传入匹配的格式参数:

console.log(' l ', moment(l, "DD/MM/YYYY"), ' p ', p);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:24:04