Momentjs:格式化日期与时区



我正在尝试做一些非常简单的事情,肯定有人以前解决过这个问题:

我有一个日期字符串(来自Facebook API),看起来像2015-09-08T19:05:00-0400

我想使用moment.calendar来格式化这个字符串以及时区缩写。比如"明天美国东部时间晚上7点"。现在它说"明天下午4点",因为我在太平洋标准时间。

这被证明是一个具有挑战性的问题。似乎只要你做time = moment("2015-09-08T19:05:00-0400"),那么time已经失去了所有的时区信息,因为日期被立即转换成我的本地时区。

我不喜欢使用moment-timezone,因为这个用例看起来非常简单。我正在考虑手动解析最后5位数字,并自己添加缩写,但这完全是一个hack。当然,一定有更好的方法来做到这一点。也就是说,这似乎引起了很多骚动。我错过什么了吗?

使用parseZone函数将使生成的moment对象保留所提供的偏移量,而不是使用本地时区。

moment.parseZone("2015-09-08T19:05:00-0400").calendar()

您还要求它返回时区缩写"EST",但这是不可能的。不能假设一个偏移量属于特定的时区,因为该偏移量可能由几个不同的时区使用,每个时区都有不同的缩写。

相关内容

  • 没有找到相关文章

最新更新