momentjs unix 时间戳将 pm 转换为 am

momentjs unix timestamp converts pm to am

我遇到了 Moment.js 的问题。

这是代码。

var date = "2016-07-26 06:15 pm";
var unixDate = moment(date).unix();
var renderDate = moment.unix(unixDate).format("YYYY-MM-DD hh:mm a");
console.log(renderDate);

我希望 "renderDate" 的值与 "date" 变量的值相同。但是,控制台中打印出的是“2016-07-26 06:15 am”。

我完全不知道为什么除了最后的 "am/pm" 之外一切都保持不变。

unix 方法只接受数字

使用前需要解析日期

moment('2016-07-28 06:15 PM', 'YYYY-MM-DD hh:mm a').format('YYYY/MM/DD hh:mm a')

http://momentjs.com/docs/。如果字符串是 ISO 8601 格式,则只能使用没有格式的字符串。在您的示例中,它忽略了 am/pm 指示符并将小时视为 24 小时格式。