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

如何在MomentJs中为时间字符串添加小时和分钟?

解决Moment.js解析'15:30'报错“invalid date”的问题

直接调用moment('15:30')时,Moment.js无法精准识别这种仅含时分的时间格式,导致返回无效日期。解决核心是明确指定解析格式,让Moment.js知道如何处理输入字符串:

方法一:指定解析格式

在初始化moment实例时传入时间格式串'HH:mm',确保解析逻辑准确:

const time = '15:30';
const targetTime = moment(time, 'HH:mm')
  .add(2, 'hours')
  .add(40, 'minutes')
  .format('HH:mm');
console.log(targetTime); // 输出 '17:10'

也可以合并时间增量的添加操作,让代码更简洁:

const time = '15:30';
const targetTime = moment(time, 'HH:mm')
  .add({ hours: 2, minutes: 40 })
  .format('HH:mm');

方法二:开启严格解析(可选)

如果需要校验输入格式的合法性,可以开启严格模式——当输入与指定格式不匹配时会返回无效日期,便于排查非法输入:

const time = '15:30';
const targetTime = moment(time, 'HH:mm', true)
  .add({ hours: 2, minutes: 40 })
  .format('HH:mm');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:10:31