我正在开发一个Web应用程序,我想查找不同时区的本地时间。我正在使用moment.js来完成此任务。问题是返回时间不能按预期工作。例如:
moment().tz("Europe/London")._d;
将返回 2013年8月15日星期四01:22:23 GMT + 0300(GTB日光时间)但同时伦敦当地时间 2013年8月14日星期四22:22: 23 所以有3个小时的差异。谁能解释为什么会发生这种情况并提出解决方案?谢谢。
答案 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