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
相关产品推荐
相关产品推荐

