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

Moment.js给指定时间添加小时结果不正确是什么原因?

问题解决说明

你出现错误的核心原因是Moment.js的格式化参数使用错误:
小写hh是12小时制的小时格式符,22点在12小时制下会显示为10点,和你预期的24小时制结果不符。

你只需要把format参数里的hh替换为大写的HH(对应24小时制带前导零的小时格式)即可得到预期结果。

修正后代码

var startDateTime = '2021-10-19 20:00:00';
var endDateTime = moment(startDateTime).add(2, 'hours').format('YYYY-MM-DD HH:mm:ss');
  
document.getElementById("startDateTime").innerHTML = startDateTime;
document.getElementById("endDateTime").innerHTML = endDateTime;

Moment常用小时格式符说明

  • h:12小时制,无前置零(取值范围1~12)
  • hh:12小时制,有前置零(取值范围01~12)
  • H:24小时制,无前置零(取值范围0~23)
  • HH:24小时制,有前置零(取值范围00~23)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:45:04