JavaScript,如何将不同的日期格式转换为通用格式



我有几个来源的日期数据,包括日期和时间。从API或页面刮擦中返回几种不同的格式(ast String)。在我看来,将GMT用作基础和日期。前端的Parse将UI转换为当地时间。但是,我遇到了一个正在返回格式日期的数据源:

" 02/15/2019 2 AM EST"

我现在正在重新考虑我的日期架构以及GMT是否是最佳选择。所有来源日期/时间将是北美。

我试图了解是否有任何日期库或方法可以处理" 2 am est"部分,还是我必须自己进行转换(也将日期还原)。此时,将EST转换为GMT只是为了将其转换回前端的EST是没有意义的。

有任何建议?

第一部分,02/15/2019 2 AM可以用Moment.JS,Luxon或Date-Fns等库来解析。

但是,一个不能在全球范围内缩写时区缩写。规范的例子是缩写CST,可以解释为美国中央标准时间,澳大利亚中央标准时间,中国标准时间或古巴标准时间。也存在许多其他歧义。

因此,只有当您已经知道将遇到的所有缩写以及要如何解释它们时,才能将缩写映射到时区偏移。例如,如果您只关心美国大陆的时间,则可以映射以下内容:

EDT = -4
EST = -5
CDT = -5
CST = -6
MDT = -6
MST = -7
PDT = -7
PST = -8

但是,如果您想添加阿拉斯加和夏威夷,则可能需要添加:

AKDT = -8
AKST = -9
HADT = -9
HAST = -10
HST = -10

请注意,夏威夷的HSTHAST均如何使用?两者通常在那里使用。即使您决定要HST,阿拉斯加的阿留申群岛仍然需要HASTHADT,它们位于阿拉斯加其他地区的单独时区。

还有其他美国领土,您的数据包括它们吗?

您可以看到事情如何变得非常复杂。通常,时区的缩写不应解析,而是仅用于向人类展示。如果您要生成需要以后解释的数据,则数据应包括时区偏移。

相关内容

  • 没有找到相关文章

最新更新