如何在momentjs中以本地时间添加时间戳

时间:2017-03-17 12:53:12

标签: javascript node.js momentjs

我正在使用moment.js,并且在数字/时间戳中有datetime。我想用我当地的时间戳转换它,即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)

3 个答案:

答案 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)