[英]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.