使用以秒为单位的偏移量将 utc 时间戳转换为本地时间

Convert utc timestamp to local time using offset In seconds

我需要使用以秒为单位的 utc 偏移将 utc 时间戳转换为本地时间。我用过 moment-timezone 库。这是我的代码

var moment = require('moment-timezone');

var timestamp = Date.now();

var IST1 = moment(timestamp).utcOffset('+05:30').format('ddd MMM D Y hh:mm:ss A ')
console.log("IST1 '+05:30' --> ", IST1);

var IST2 = moment(timestamp).utcOffset('+19800').format('ddd MMM D Y hh:mm:ss A ')
console.log("IST2 '+19800' --> ", IST2);

但我得到了这样的输出

IST1 '+05:30' -->  Mon Jun 19 2017 01:39:23 PM 
IST2 '+19800' -->  Tue Jun 20 2017 04:29:23 AM

使用“+05:30”,我得到了正确的时间。但是使用 '+19800' ,我弄错了时间。与此代码相关的实际问题是什么?

Moment docs 开始,函数 utcOffset 似乎将分钟而不是秒作为参数。

尝试使用

var IST2 = moment(timestamp)
    .utcOffset('+330')
    .format('ddd MMM D Y hh:mm:ss A ')

它应该可以工作。