手动将时间设置为时刻对象后,从UTC获取本地时间

时间:2017-11-27 15:50:43

标签: momentjs

我有一个UTC字符串/数字(例如1510678360) 当转换为时刻对象时,它会按预期转换为特定的日期和时间。

var momentObj = moment(1510678360, 'x');
console.log(momentObj); // Tuesday, November 14, 2017 4:52:40 PM GMT

我尝试为该对象设置特定时间,并且该时间也按预期更新。

momentObj = momentObj.set({h:22, m:30});
console.log(momentObj); // Tuesday, November 14, 2017 10:30:00 PM

当我将momentObj转换为本地时区时,以及当我尝试获取hourminute时,则未显示预期的日期和时间。

var momentObj = moment(1510678360, 'x');
momentObj = momentObj.set({h:22, m:30});
momentObj = moment(momentObj).tz(moment.tz.guess);
// expected: Wednesday, November 15, 2017 4:00:00 AM GMT+05:30
console.log(momentObj.get('hour')); // 22 instead of 4  
console.log(momentObj.get('minute')); // 30 instead of 00

相反,我刚刚添加的时间就是显示的内容。我尝试添加的时间,仅在时区转换后才包括在内,但我希望在转换之前进行添加。

1 个答案:

答案 0 :(得分:0)

回答我的问题是使用moment.utc() 问题的comments部分建议。