我在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。
这是什么交易?
答案 0 :(得分:2)
在你的第二个例子中,你正在做的是设置从偏移量创建一个时刻对象。如果检查创建的日期对象,您应该看到它是moment("1969-12-31T16:00:00.420")
。
您应该做的是从日期创建一个时刻对象,而不是偏移。这样做会产生正确的结果。
const date = new Date();
return moment(date).format('Z'); // "-07:00" for PDT