使用以秒为单位的偏移量将 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 ')
它应该可以工作。
我需要使用以秒为单位的 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 ')
它应该可以工作。