使用 JavaScript 获取时区缩写

使用 JavaScript 获取时区缩写

Get the Time Zone Abbreviation using JavaScript

使用toLocaleDateString方法获取时区缩写。该方法可以传递一个options对象,其中timeZoneName属性可以设置short为获取时区缩写。

索引.js
// 👇️ GMT+2 (with locale en-US) console.log( new Date() .toLocaleDateString('en-US', { day: '2-digit', timeZoneName: 'short', }) .slice(4), ); // 👇️ OEZ (with locale de-DE) console.log( new Date() .toLocaleDateString('de-DE', { day: '2-digit', timeZoneName: 'short', }) .slice(4), ); // 👇️ "Europe/Sofia" console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);

我们使用
toLocaleDateString
方法获取访问者默认时区的缩写。

我们传递给该方法的 2 个参数是:

  1. locales– 带有 BCP 47 语言标记的字符串或此类字符串的数组。您可以使用任何可用的语言环境,例如es-MX墨西哥或en-CA
    加拿大。
    如果您需要有关此参数的更多信息,请查看
    MDN 文档
  2. options对象,我们在其中设置daytimeZoneName属性。在MDN 文档中阅读有关该options对象的
    更多信息

timeZoneName属性表示本地化时区名称,可以设置为long或的值short

下面是当timeZoneName属性值为
时输出的样子
long

索引.js
// 👇️ Eastern European Standard Time (en-US locale) console.log( new Date() .toLocaleDateString('en-US', { day: '2-digit', timeZoneName: 'long', }) .slice(4), ); // 👇️ Osteuropaeische Normalzeit (de-DE locale) console.log( new Date() .toLocaleDateString('de-DE', { day: '2-digit', timeZoneName: 'long', }) .slice(4), );

我们还将day属性设置为2-digit,我们用它从字符串中切掉日期部分,只返回时区名称。

Intl.DateTimeFormat如果需要获取访问者所在时区的全名,可以使用该方法。

索引.js
// 👇️ "Europe/Sofia" console.log(Intl.DateTimeFormat().resolvedOptions().timeZone);

resolvedOptions方法返回一个对象,该

对象具有一个
timeZone属性,代表访问者的默认时区。

发表评论