簡體   English   中英

Javascript,如何將各種日期格式轉換為通用格式

[英]Javascript, how to convert varying Date formats to a common format

我有一些日期數據來源,其中包括日期和時間。 從api或頁面抓取返回的幾種不同格式(都是字符串)。 在我看來,使用GMT作為基礎並在前端使用Date.parse將UI轉換為本地時間是可行的。 但是,我遇到了一個數據源,該數據源以以下格式返回日期:

“美國東部時間2019年2月15日凌晨2點”

我現在正在重新考慮我的約會架構以及GMT是否是最佳選擇。 所有來源日期/時間均為北美。

我試圖了解是否有任何日期庫或方法可以處理“美國東部時間凌晨2點”,或者我是否必須自己進行轉換(也需要回溯日期)。 目前,將EST轉換為GMT只是將其轉換回前端的EST對我來說沒有任何意義。

有什么建議嗎?

第一部分, 02/15/2019 2 AM 2019 02/15/2019 2 AM可以使用Moment.jsLuxonDate- 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 ,這與阿拉斯加其他地區處於不同的時區。

那么其他美國領土,您的數據是否包括它們?

您會看到事情變得非常復雜。 通常,不應解析時區縮寫,而應僅用於顯示給人類。 如果要生成需要稍后解釋的數據,則該數據應包含時區偏移。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM