首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用moment.js解析ET时间

如何用moment.js解析ET时间
EN

Stack Overflow用户
提问于 2015-10-01 22:42:08
回答 1查看 4.3K关注 0票数 2

有没有一种方法可以轻松、正确地解析moment.js中这样的链接?

代码语言:javascript
复制
August 21, 2015: 11:40 AM ET

我设法正确地解析了它,除了ET位(它代表东方时间,它是UTC-4),格式如下:

代码语言:javascript
复制
MMMM DD, YYYY: hh:mm tt ET
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-02 15:01:54

有几件事:

  • 时区缩写并不都是唯一的。见维基百科上的这个列表。例如,CST有五个不同的含义。
  • 时区缩写没有国际标准。不同的清单可能有不同的价值,其中一些价值可能是被发明出来的,而不是那些地区的人实际使用的。它们也可能因语言而异。
  • 这个特殊的缩写"ET“通常意思是”东方时间“,适用于北美的东部时区,特别是美国和加拿大。它是缩写的通用形式,包括东方标准时间("EST",UTC-5)和东部夏令时("EDT",UTC-4),以对有关日期有效者为准。
  • 另一种表示这一点的方法是使用来自IANA tz数据库的标识符。这个特定的区域最好用"America/New_York"来表示。我们可以将这些标识符与力矩时区插件一起使用到moment.js。 var timeZone =“America/New York”;var m=moment.tz(输入,格式,timeZone);var输出= m.format();// "2015-08-21T23:40:00-04:00“ 请注意,我没有为时区包括任何格式说明符。因为它在字符串的末尾,所以您可以在这里停止。(如果它位于字符串的其他位置,则可以将要忽略的文本放在方括号中。) 还请注意,与我建议的格式字符串相比,您在建议的格式字符串中还有其他一些不同之处。特别是tt在.NET中工作,但它是aA
  • 在上面的例子中,您必须在外部提供时区。如果您的输入可以来自不同的时区,那么这将无法工作,而瞬间也无法帮助您。您需要将时区单独作为另一个输入。由于我前面描述过的时区缩略语的性质不明确,所以它不会试图识别时区缩写。
  • 还请注意,在时区中有一些日期/时间值将是不明确的。这种情况发生在夏令时结束时,创建了一个重叠的值范围。例如,November 1, 2015: 1:30 AM ET将发生两次,第一次在美国东部时间,然后在一小时后在东部时间。在这种情况下,矩将选择第一次发生-这恰好是白天时间,而不是标准时间。
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32897942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档