首頁 > 後端開發 > Golang > 如何在Go中準確地將UTC時間轉換為特定時區?

如何在Go中準確地將UTC時間轉換為特定時區?

Susan Sarandon
發布: 2024-12-19 02:14:08
原創
287 人瀏覽過

How to Accurately Convert UTC Time to a Specific Time Zone in Go?

在Go 中使用time.LoadLocation 將UTC 轉換為特定時區

將UTC 時間轉換為特定本地時間時,必須考慮時區資訊的準確性。嘗試手動添加時差可能會導致不正確的結果。

相反,Go 中的首選方法是使用 time.LoadLocation 取得所需位置的時區資訊。以下是一個修正後的 Go 程式碼範例:

var countryTz = map[string]string{
    "Hungary": "Europe/Budapest",
    "Egypt":   "Africa/Cairo",
}

func timeIn(name string) time.Time {
    loc, err := time.LoadLocation(countryTz[name])
    if err != nil {
        panic(err)
    }
    return time.Now().In(loc)
}

func main() {
    utc := time.Now().UTC().Format("15:04")
    hun := timeIn("Hungary").Format("15:04")
    eg := timeIn("Egypt").Format("15:04")
    fmt.Println(utc, hun, eg)
}
登入後複製

在此範例中,地圖 (countryTz) 用於將國家/地區名稱與其對應的時區字串關聯起來。 timeIn 函數取得國家/地區名稱,使用 time.LoadLocation 載入時區信息,並傳回該特定時區的當前時間。

然後 main 函數列印 UTC 時間以及匈牙利和本地時間埃及使用 timeIn。此方法可確保正確處理時區和夏令時的差異。

以上是如何在Go中準確地將UTC時間轉換為特定時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板