【发布时间】:2017-06-19 08:19:03
【问题描述】:
我需要使用 utc 偏移量(以秒为单位)将 utc 时间戳转换为本地时间。我使用过时刻时区库。这是我的代码
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' ,我得到了错误的时间。与此代码相关的实际问题是什么?
【问题讨论】:
-
你为什么使用
utcOffset? Moment 默认解析本地时间,如果需要将时间转换为给定时区,可以使用tz()函数。 -
我需要转换不同地区的时间(例如:IST,PDT..etc)
-
我已经测试过时区。但就我而言,我的输入是以秒为单位的时间戳及其时区偏移量。就这样
标签: javascript node.js datetime momentjs timezone-offset