登录
首页 >  Golang >  Go问答

time.LoadLocation() 给出美国/太平洋新时区的未知时区

来源:stackoverflow

时间:2024-04-03 23:15:38 378浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《time.LoadLocation() 给出美国/太平洋新时区的未知时区》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

Go版本:1.14.2

操作系统:Linux (Ubuntu)

我正在开发一个基于动态时区的系统,用户可以在其中设置时区。我有一个用户将时区设置为 US/Pecific-New。对于这个时区,golang时间包给出以下错误:

未知时区 US/Pacific-New

我对此进行了研究,发现时间包从具有文件路径的本地系统加载时区:

/usr/share/zoneinfo

/usr/local/go/lib/time

在这些路径上、我的本地系统以及暂存 Pacific-New 上,这两个位置都缺少。

有办法在这些地点获得 Pacific-New 吗?


解决方案


US/Pacific-New 从来都不是“真实”时区,不应在任何系统上选择。

它的创建是为了反映太平洋时间的潜在变化,但这一变化从未成为法律。当时的想法是在更改之前准备好一个时区。然而,由于该法案没有颁布,这被证明是一次失败的实验。 TZDB 不再尝试在对未来变化的推测性预期中创建区域,而是仅在正式或迫在眉睫时添加或更新它们。

最终,US/Pacific-New 只是 US/Pacific 的链接,后来更新为 America/Los_Angeles 首选形式的链接。包含 US/Pacific-New 的此类链接的最后一个 TZDB 版本是2020a。

来自 2020b 发行说明:

您可以通过在 TZDB 中搜索 the NEWS file 搜索“Pacific-New”和“pacificnew”并阅读 the 2020a version of the pacificnew file from before it was deleted,通过此链接条目了解有关悠久历史的更多信息。

就实际建议而言,请勿在任何系统上设置 US/Pacific-New。它不再是有效的时区标识符。整个系统都会受到影响。改用 America/Los_Angeles

终于介绍完啦!小伙伴们,这篇关于《time.LoadLocation() 给出美国/太平洋新时区的未知时区》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>