[英]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.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
注意在夏威夷如何同時使用HST
和HAST
? 兩者都是在那里常用的。 即使您決定要使用HST
,您仍然需要阿拉斯加阿留申群島的HAST
和HADT
,這與阿拉斯加其他地區處於不同的時區。
那么其他美國領土,您的數據是否包括它們?
您會看到事情變得非常復雜。 通常,不應解析時區縮寫,而應僅用於顯示給人類。 如果要生成需要稍后解釋的數據,則該數據應包含時區偏移。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.