如何使用带有AM / PM的moment.js格式化不带时区(Z)的日期时间

时间:2018-12-22 04:00:55

标签: javascript momentjs utc

我正在Web应用程序中使用moemntjs将DateTime转换为显示YYYY-MM-DD hh: mm a格式,但是我不希望momentjs转换或考虑时区。

这是我的日期2018-12-21T15:58:39.35-05:00作为API的一部分返回,需要以YYYY-MM-DD hh: mm a格式显示不带(-05:00)的日期。

我目前正在按照以下方法解决问题

var date1 = '2018-12-21T15:58:39.35-05:00'
var fmtDate = moment.utc(date1).zone("-05:00").format('YYYY-MM-DD hh:mm a');

$('#output').append(fmtDate);

Fiddle Link

输入:'2018-12-21T15:58:39.35-05:00' 预期输出:“ 03:58 pm”
但是我不想对区域(-05:00进行硬编码,而moment.js应该在格式化时排除该区域。

1 个答案:

答案 0 :(得分:2)

utcOffset是您所需要的:

var date1 = '2018-12-21T15:58:39.35-05:00'
var m = moment(date1).utcOffset(date1);
var fmtDate = m.format('YYYY-MM-DD hh:mm a');

$('#output').append(fmtDate); // result is as you expected: 2018-12-21 03:58 pm

这是示例:https://jsfiddle.net/73pa1qkz/9/