我有一个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
转换为本地时区时,以及当我尝试获取hour
或minute
时,则未显示预期的日期和时间。
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
相反,我刚刚添加的时间就是显示的内容。我尝试添加的时间,仅在时区转换后才包括在内,但我希望在转换之前进行添加。
答案 0 :(得分:0)
回答我的问题是使用moment.utc()
问题的comments
部分建议。