使用moment.js时间不能按预期工作

时间:2013-08-14 21:26:46

标签: javascript momentjs

我正在开发一个Web应用程序,我想查找不同时区的本地时间。我正在使用moment.js来完成此任务。问题是返回时间不能按预期工作。例如:

moment().tz("Europe/London")._d;

将返回 2013年8月15日星期四01:22:23 GMT + 0300(GTB日光时间)但同时伦敦当地时间 2013年8月14日星期四22:22: 23 所以有3个小时的差异。谁能解释为什么会发生这种情况并提出解决方案?谢谢。

2 个答案:

答案 0 :(得分:6)

请勿使用._d属性。下划线表示它是内部的。 (因为那是Date,它总是会显示在本地时区,因为这就是JavaScript的工作方式。)

而是使用其中一种输出方法,例如.format()

答案 1 :(得分:0)

var time= moment.tz(value).format('LTS'),
var date= moment.tz(value).format('LL'),
var abbr= moment.tz.zone(value).abbr(moment.utc().valueOf()), //PST,IST
var name= moment.tz.zone(value).name); //Asia/Kolkata