我需要使用utc offset(以秒为单位)将utc timestamp转换为本地时间。我曾使用过时区库。这是我的代码
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' ,我错了时间。与此代码相关的实际问题是什么?
答案 0 :(得分:1)
从Moment docs开始,函数utcOffset
看起来像是参数而不是秒。
尝试使用
var IST2 = moment(timestamp)
.utcOffset('+330')
.format('ddd MMM D Y hh:mm:ss A ')
它应该有用。