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

dayJS传入1990-12-29Z格式日期报Invalid Date错误如何解决

Day.js 解析YYYY-MM-DDZ格式日期报错解决方法

问题原因

  • 仅引入了Day.js核心库,代码中调用的utc、timezone等扩展插件未正确引入,扩展逻辑没有生效,无法识别带Z后缀的UTC日期格式
  • Day.js默认对仅包含日期、不带时分秒的UTC后缀格式(如2019-01-25Z)解析存在歧义,需要主动指定UTC解析规则

解决步骤

  1. 先确认所有用到的扩展插件都已正确引入,插件版本必须和Day.js核心库版本完全一致,未引入的插件执行extend操作不会生效。
  2. 解析带Z后缀的UTC日期时,主动调用utc方法明确解析逻辑,不要直接使用默认的dayjs构造方法,修改后的业务代码如下:
dayjs.extend(utc)
dayjs.extend(timezone)
dayjs.extend(advancedFormat)
dayjs.extend(localizedFormat)

// 主动调用utc方法解析带Z标识的UTC日期
const validDate = dayjs.utc('2019-01-25Z').format('YYYY-MM-DD Z')
// 输出结果:2019-01-25 +00:00
  1. 如果仍存在解析异常,可以搭配customParseFormat插件开启严格格式匹配:
// 引入customParseFormat插件
dayjs.extend(customParseFormat)
// 第二个参数指定传入的日期格式,第三个参数开启严格匹配模式
const validDate = dayjs('2019-01-25Z', 'YYYY-MM-DDZ', true).utc().format('YYYY-MM-DD Z')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:06:04