Javascript Moment.js格式给出错误的UTC偏移量

Javascript Moment.js格式给出错误的UTC偏移量,javascript,momentjs,Javascript,Momentjs,我在太平洋标准时间,当前UTC偏移量应为-07:00 当我这样做时,我正确地得到了偏移量: const offset = new Date().getTimezoneOffset(); const o = Math.abs(offset); return (offset < 0 ? '+' : '-') + ('00' + Math.floor(o / 60)).slice(-2) + ':' + ('00' + (o % 60)).slice(-2); 我得到-08:00 处理方法是什

我在太平洋标准时间,当前UTC偏移量应为-07:00

当我这样做时,我正确地得到了偏移量:

const offset = new Date().getTimezoneOffset();
const o = Math.abs(offset);
return (offset < 0 ? '+' : '-') + ('00' + Math.floor(o / 60)).slice(-2) + ':' + ('00' + (o % 60)).slice(-2);
我得到-08:00


处理方法是什么?

在第二个示例中,您所做的是设置从偏移创建力矩对象。如果检查创建的日期对象,应该会看到它是
时刻(“1969-12-31T16:00:00.420”)

您应该做的是从日期而不是偏移量创建力矩对象。这样做将产生正确的结果

const date = new Date();
return moment(date).format('Z'); // "-07:00" for PDT

在第二个示例中,您要做的是设置从偏移创建力矩对象。如果检查创建的日期对象,应该会看到它是
时刻(“1969-12-31T16:00:00.420”)

您应该做的是从日期而不是偏移量创建力矩对象。这样做将产生正确的结果

const date = new Date();
return moment(date).format('Z'); // "-07:00" for PDT

我的答案对你有帮助吗?我的答案对你有帮助吗?你的答案是正确的,但在谷歌搜索了好几遍后,它实际上是一样的:return moment().format('Z');当然可以。我只是纠正了你代码中的错误,没什么。你的答案是正确的,但在谷歌搜索了好几遍后,它实际上是一样的:return moment().format('Z');当然可以。我只是在纠正你代码中的错误而已。