我正在开发一个 Web 应用程序,我想在其中找到不同时区的当地时间。我正在使用moment.js来完成这项任务。问题是返回时间没有按预期工作。例如:
moment().tz("Europe/London")._d;
将返回2013 年 8 月 15 日星期四 01:22:23 GMT+0300(GTB 夏令时间),但同时伦敦的当地时间是2013 年 8 月 14 日星期四 22:22:23,因此有 3 小时的差异。谁能解释为什么会发生这种情况并提出解决方案?谢谢你。
我正在开发一个 Web 应用程序,我想在其中找到不同时区的当地时间。我正在使用moment.js来完成这项任务。问题是返回时间没有按预期工作。例如:
moment().tz("Europe/London")._d;
将返回2013 年 8 月 15 日星期四 01:22:23 GMT+0300(GTB 夏令时间),但同时伦敦的当地时间是2013 年 8 月 14 日星期四 22:22:23,因此有 3 小时的差异。谁能解释为什么会发生这种情况并提出解决方案?谢谢你。
不要使用该._d
物业。下划线表示它是内部的。(因为它是 a Date
,所以它总是显示为好像在本地时区,因为这就是 JavaScript 的工作方式。)
而是使用其中一种输出方法,例如.format()
.
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