获取Go中有效时区的列表
我想编写一个方法,该方法将用time.Format()
调用接受的常见时区填充Go语言数组,以用于HTML模板(选择表格以使其能够读取并选择其时区)。有一种通用的方法吗?
回答:
要获取时区列表,可以使用以下方法:
package mainimport (
"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/AbidjanAfrica/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
...
以上是 获取Go中有效时区的列表 的全部内容, 来源链接: utcz.com/qa/419830.html