首頁 >後端開發 >Golang >如何取得 Go 的 time.Format() 的可用時區清單?

如何取得 Go 的 time.Format() 的可用時區清單?

Patricia Arquette
Patricia Arquette原創
2024-12-01 09:43:10658瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn