簡體   English   中英

有沒有辦法在瀏覽器 Javascript 中獲取時區縮寫?

[英]Is there a way to get time zone abbreviations in browser Javascript?

我可以使用Intl.DateTimeFormat().resolvedOptions().timeZone獲取 tz 名稱 - 例如,在我的瀏覽器中, America/Los_Angeles 有沒有辦法代替時區的縮寫(在提出這個問題時,PDT)?

是的,您可以只格式化時區名稱,簡寫形式,然后將其從格式化的部分中提取出來,如下所示:

Intl.DateTimeFormat('en', {timeZoneName: 'short'}).formatToParts().find(p => p.type === 'timeZoneName').value

但請記住以下幾點:

  • 語言很重要。 這里的'en'是英語。 您可以傳遞undefined以使用最終用戶的語言,但並非所有語言都定義了時區縮寫。

  • 具體的日期和時間很重要。 formatToParts接受Date object,但當不存在(或undefined )時,它使用當前日期和時間。

  • 並非所有時區縮寫都定義明確。

  • 並非所有時區縮寫都是一致使用的。

  • 並非所有時區縮寫都是唯一的。

  • 並非所有時區都有縮寫。

因此,我強烈建議您盡可能避免使用時區縮寫。

暫無
暫無

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

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