首页 > 后端开发 > Golang > 如何获取 Go 的 time.Format() 的可用时区列表?

如何获取 Go 的 time.Format() 的可用时区列表?

Patricia Arquette
发布: 2024-12-01 09:43:10
原创
660 人浏览过

How Can I Get a List of Usable Time Zones for Go's time.Format()?

获取 Go 的 time.Format() 的可用时区列表

为用户提供一种便捷的方式来选择您所在地区的时区应用程序中,您可能需要使用有效时区列表填充下拉列表。这个列表可以在 Go 中使用简单的方法生成。

解决方案:

获取可与时间一起使用的常用支持时区的完整列表。 Format() 函数,您可以使用以下内容代码:

package main

import (
    "fmt"
    "os"
    "strings"
)

var zoneDirs = []string{
    // Update path according to your OS
    "/usr/share/zoneinfo/",
    "/usr/share/lib/zoneinfo/",
    "/usr/lib/locale/TZ/",
}

var zoneDir string

func main() {
    for _, zoneDir = range zoneDirs {
        ReadFile("")
    }
}

func ReadFile(path string) {
    files, _ := os.ReadDir(zoneDir + path)
    for _, f := range files {
        if f.Name() != strings.ToUpper(f.Name()[:1]) + f.Name()[1:] {
            continue
        }
        if f.IsDir() {
            ReadFile(path + "/" + f.Name())
        } else {
            fmt.Println((path + "/" + f.Name())[1:])
        }
    }
}
登录后复制

说明:

  • 此代码循环遍历潜在时区目录以查找有效时区。
  • 它读取目录内容并忽略大小写混合的条目。
  • 如果条目是目录,则递归调用 ReadFile 函数继续搜索。
  • 然后打印时区名称,不带前导斜杠。

输出:

执行代码将生成时区名称列表,例如:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
...
登录后复制

您可以合并此列表到您的 HTML 模板中,以获得用户友好的时区选择功能。

以上是如何获取 Go 的 time.Format() 的可用时区列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板