有没有办法将UTC偏移量(即-25200或-0700)传递给moment.utc()构造函数构建时间?
即:
const timeUtc = moment.utc('Sun, 25 Sep 2016 12:30:00', 'ddd, DD MMM YYYY HH:mm:ss');
const timeDifference = '-25200';
使用timeDifference的utc偏移调用timeUtc时刻对象转换为时区中的时刻对象的任何方法?
答案 0 :(得分:0)
Moment具有utcOffset
函数,可用于设置偏移量。但是,它并不期望以秒为单位输入字符串。你必须分成几分钟,这也会将它强制转换为数字。
const timeWithOffset = moment(timeUtc).utcOffset(timeDifference / 60);
这也是创建一个克隆,而不是改变原始值。
如果您使用示例输入调用此.format()
,则会获得"2016-09-25T05:30:00-07:00"
这正确地从UTC转换为提供的偏移量。如果您认为原始值已经在该偏移中,那么将true
作为第二个参数传递给utcOffset
函数,而您将获得"2016-09-25T12:30:00-07:00"
。
请注意,我假设您的输入偏移代表UTC-7。如果它实际上是UTC + 7,那么你也希望在那里乘以-1。