有没有办法在浏览器Javascript中获取时区缩写?
我可以通过有没有办法在浏览器Javascript中获取时区缩写?,javascript,time,browser,timezone,Javascript,Time,Browser,Timezone,我可以通过Intl.DateTimeFormat().resolvedOptions().timeZone获取tz名称,例如在我的浏览器中,America/Los_Angeles。有没有办法取而代之的是时区的缩写(在提出这个问题时,PDT)?是的,您可以将时区名称格式化为简写形式,然后将其从格式化部分中取出,如下所示: Intl.DateTimeFormat('en', {timeZoneName: 'short'}).formatToParts().find(p => p.type ==
Intl.DateTimeFormat().resolvedOptions().timeZone
获取tz名称,例如在我的浏览器中,America/Los_Angeles
。有没有办法取而代之的是时区的缩写(在提出这个问题时,PDT)?是的,您可以将时区名称格式化为简写形式,然后将其从格式化部分中取出,如下所示:
Intl.DateTimeFormat('en', {timeZoneName: 'short'}).formatToParts().find(p => p.type === 'timeZoneName').value
但要记住几件事:
- 语言很重要<代码>'en'这是英语。您可以通过
来使用最终用户的语言,但并非所有语言都定义了时区缩写undefined
- 具体日期和时间很重要。
接受一个formatParts
对象,但如果不存在该对象(或Date
未定义的对象),它将使用当前日期和时间
- 并非所有时区缩写都有明确的定义
- 并非所有时区缩写都使用一致
- 并非所有时区缩写都是唯一的
- 并非所有时区都有缩写