Moment JS将TimeZone设置为EST - 合金/时刻

时间:2017-09-11 08:02:06

标签: date momentjs appcelerator-titanium titanium-alloy appcelerator-alloy

我在Appcelerator中使用合金框架中的momentjs。我的api将日期返回为 - 2017-09-06T12:03:00.000Z我使用下面的代码将此日期格式化为可读形式 -

var dt =  moment(record.createddate);
$.dateValue.text = moment(dt).format('lll');

但我获得的输出是 - Sep 6, 2017 5:33 PM,这是不正确的,因为在db中保存并从api返回的日期是EST,显示的日期是GMT+0530。我该如何格式化这个日期以便获得正确的日期值?

1 个答案:

答案 0 :(得分:2)

我想,在代码的某处,moment的默认时区设置为GMT + 0530。像moment.tz.setDefault('Asia/Colombo')之类的东西可以做到这一点。

您可以定义要在哪个时区显示日期。这应该适合你:

moment('2017-09-06T12:03:00.000Z').tz("Etc/GMT").format('lll')

或者如果你想要我在评论中建议的值:

moment('2017-09-06T12:03:00.000Z').tz("Etc/GMT-2").format('lll')

有关moment.js时区的更多信息,您可以查看the moment.js timezone docs

希望这有帮助!