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

How to format datetime without timezone (Z) using moment.js with AM/PM

我正在我的 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 应该在格式中排除它。

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/