登录
首页 >  Golang >  Go问答

获取当前位置区域的方法与本地系统相关

来源:stackoverflow

时间:2024-03-13 23:24:26 368浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《获取当前位置区域的方法与本地系统相关》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我需要从本地系统获取国家/城市(例如:America/New_York),以便使用时间包中的 LoadLocation(值字符串)提供给 api。

如何在不使用任何外部配置来获取区域的情况下获取此信息?


解决方案


位置的 IANA 名称不能保证在您的系统上正确设置。

要获取它,首先检查 TZ 环境变量。如果存在,它可能是有效的 IANA 名称(例如:America/New_York)。

如果 TZ 未设置,请查看 /etc/localtime 指向的内容(通常是符号链接)。在大多数情况下,它将指向类似 /usr/share/zoneinfo/America/New_York 之类的内容。您需要自己提取区域/位置组件。

重要说明:这里有很多警告:

  • TZ的内容,或者 /etc/localtime指向的文件可以是时区缩写名称。例如:EST。无法从该名称转为 IANA 名称。
  • TZ 可以设置但为空,即 UTC
  • /etc/localtime 可能是实际 tzdata 文件的副本,该文件仅包含时间偏移量,而不包含 IANA 名称。

简而言之,如果服务器接受缩写的时区名称或时间偏移量,那么对于所有相关人员来说都会好得多。

今天关于《获取当前位置区域的方法与本地系统相关》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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