获取Go中有效时区的列表

我想编写一个方法,该方法将用time.Format()调用接受的常见时区填充Go语言数组,以用于HTML模板(选择表格以使其能够读取并选择其时区)。有一种通用的方法吗?

回答:

要获取时区列表,可以使用以下方法:

package main

import (

"fmt"

"io/ioutil"

"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, _ := ioutil.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:])

}

}

}

输出:

Africa/Abidjan

Africa/Accra

Africa/Addis_Ababa

Africa/Algiers

Africa/Asmara

Africa/Asmera

Africa/Bamako

Africa/Bangui

...

以上是 获取Go中有效时区的列表 的全部内容, 来源链接: utcz.com/qa/419830.html

回到顶部