gpt4 book ai didi

javascript - 如何在 Javascript 中获取时区名称(PDT、EST 等)?

转载 作者:行者123 更新时间:2023-12-04 07:03:28 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Getting the client's time zone (and offset) in JavaScript

(32 个回答)



Get timezone abbreviation using offset value

(2 个回答)


5年前关闭。




使用 Javascript,有没有办法根据用户的设备获取用户的时区名称(PDT、EST 等)?

我试过的代码:

const timezone = jstz.determine()
const userTimezone = timezone.name()

但我想取回用户在 PDT、EST 等中的时区名称,而不是 America/New_York。

最佳答案

使用 moment.jsmoment-timezone附加组件,您可以执行以下操作。无论浏览器或操作系统如何,结果都是一致的,因为缩略语在库提供的数据中。

示例结果来自设置为美国太平洋时区的计算机:

var zone = moment.tz.guess();            // "America/Los_Angeles"
var abbr = moment.tz(zone).format("z"); // either "PST" or "PDT", depending on when run

免责声明

时区缩写不可靠或不一致。有很多不同的 lists of them ,并且有很多歧义,例如“CST”代表中央标准时间、古巴标准时间和中国标准时间。通常,您应该避免使用它们,并且永远不应该解析它们。

此外,moment-timezone 中的缩写来自 IANA TZ Database .在该数据的最新版本中,许多“发明”缩写已被数字偏移量取代。例如,如果您的用户的时区是 Asia/Vladivostok , 而不是得到 "VLAT"就像您在以前的版本中一样,您将获得 "+10" .这是因为缩写“VLAT”最初是tz数据库为了填充数据而发明的,并没有被该地区的人实际使用。请记住,缩写词也始终使用英语 - 即使在实际使用其他语言缩写词的区域也是如此。

关于javascript - 如何在 Javascript 中获取时区名称(PDT、EST 等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com