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

时间:2018-06-16 00:44:31

标签: javascript momentjs

我在PST,我当前的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);

但是,当我像这样使用Moment.js时:

const date = new Date().getTimezoneOffset();
return moment(date).format('Z'); 

我得到-08:00。

这是什么交易?

1 个答案:

答案 0 :(得分:2)

在你的第二个例子中,你正在做的是设置从偏移量创建一个时刻对象。如果检查创建的日期对象,您应该看到它是moment("1969-12-31T16:00:00.420")

您应该做的是从日期创建一个时刻对象,而不是偏移。这样做会产生正确的结果。

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