我想编写一个方法,该方法将用time.Format()调用接受的常见时区填充Go语言数组,以用于HTML模板(选择表格以使其能够读取并选择其时区)。有一种通用的方法吗?
time.Format()
要获取时区列表,可以使用以下方法:
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 ...