time.Parse 行為
當嘗試使用Go 中的time.Parse 函數將字串轉換為time.Time 值時,一個如果未正確指定時區,可能會遇到意外結果。本文透過將時區格式與 ISO 8601 對齊來探討此問題的解決方案。
time.Parse 函數需要一個定義輸入字串格式的佈局字串。提供的佈局字串「2013-05-13T18:41:34.848Z」不能準確表示Golang使用的參考時間,即UTC-0700時區的「Mon Jan 2 15:04:05 MST 2006」。
要解決這個問題,我們需要定義一個與參考時間相符的自訂佈局字串。應使用以下佈局字串:
const longForm = "2006-01-02 15:04:05 -0700"
此佈局字串與參考時間的格式匹配,其中:
t, err := time.Parse(longForm, "2013-05-13 18:41:34.848 -0700") if err != nil { log.Fatal(err) } fmt.Println(t)
以上是使用 Go 的 time.Parse 函數時如何正確處理時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!