.format返回错误的小时

.format return wrong hour

本文关键字:小时 错误 返回 format      更新时间:2023-09-26

我正在尝试解析此日期:

Tue, 27 Oct 2015 00:00:00 GMT

进入这个:

Tue, 27 Oct 2015 18:00:00 GMT

为了做到这一点,我有这个代码:

start = moment(moment("Tue, 27 Oct 2015 00:00:00 GMT").format("YYYY-MM-DD") + ' ' + "18:00").format("ddd, D MMM YYYY hh:mm:ss") + " GMT";

但问题是这个代码返回的是:

2015年10月27日,星期二06:00:00 GMT

而不是18:00:00为什么会这样?检查我的jsfiddle

格式化日期时,需要传递HH:mm:ss时间格式来告诉momentjs它是24小时格式。注意大写H:

start = moment(moment("Tue, 27 Oct 2015 00:00:00 GMT").format("YYYY-MM-DD") + ' ' + "18:00").format("ddd, D MMM YYYY HH:mm:ss") + " GMT";

小提琴:http://jsfiddle.net/a83ob6dy/