我正在使用moment.js
,并且在数字/时间戳中有date
和time
。我想用我当地的时间戳转换它,即GMT+5:30
。这是jsfiddle链接。
代码: -
console.log(moment(1489689000000).add(52200000).toDate())
//output: Fri Mar 17 2017 14:30:00 GMT+0530 (IST)
//expected output : Fri Mar 17 2017 20:00:00 GMT+0530 (IST)
答案 0 :(得分:1)
如果您想在问题中使用简单的moment
:
如果您希望将日期解析为UTC,则可以尝试使用moment.utc()
:
console.log(moment.utc(1489689000000).add(52200000).local().toDate());
或:
console.log(moment(moment.utc(1489689000000).add(52200000).local()));
但这实际上可能无法满足您的需求 - 具体取决于您的系统配置。
如果你认真对待时区,那么你应该使用moment-timezone
:
var moment = require('moment-timezone');
var zone = moment.tz.guess();
console.log(moment.utc(1489689000000).add(52200000).tz(zone).format());
请参阅:
答案 1 :(得分:0)
这里有其他一些方法来实现这一目标。根据您的GMT +5.30
时区,您只需将小时转换为毫秒。
console.log(moment(1489689000000).add(52200000+ 19800000).toDate());
// here 5.5 hours = 19800000 miliseconds
// add + 19800000 due GMT +5.30
答案 2 :(得分:0)
理想情况下,对于您当地的时区 - 时刻对象将为您提供完美的约会
moment().toDate() // Fri Mar 17 2017 20:18:53 GMT+0530 (IST)
但是如果你想要不同的时区,完美的方法是转换using moment timezone
moment().tz(timezone)toDate()
eg. moment().tz('Asia/calcutta').toDate() // Fri Mar 17 2017 20:20:49 GMT+0530 (IST)