首頁 >後端開發 >Golang >如何建立具有特定時區偏移量的 time.Time 物件?

如何建立具有特定時區偏移量的 time.Time 物件?

Barbara Streisand
Barbara Streisand原創
2024-12-13 16:35:17528瀏覽

How to Create a time.Time Object with a Specific Timezone Offset?

建立具有時區偏移量的時間物件

如何建立包含特定時區偏移量的 time.Time 物件?假設我們有一個時間戳格式為「[07/Mar/2004:16:47:46 -0800]」的 Apache 日誌。將其解析為元件後,我們想要建構一個包含「-0800」時區偏移的 time.Time 物件。

要解決此問題,請使用 time.FixedZone() 建立自訂 time.Location所需的偏移量。例如:

loc := time.FixedZone("myzone", -8*3600)
nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, loc)

這裡,「myzone」是為自訂位置指定的任意名稱,「-8*3600」表示與 UTC 的時差(以秒為單位)。

或者,如果您將時區偏移量作為字串,請使用帶有自訂佈局的time.Parse() string:

t, err := time.Parse("-0700", "-0800")
if err != nil {
    panic(err)
}

nativeDate := time.Date(2019, 2, 6, 0, 0, 0, 0, t.Location())

此方法使用字串設定偏移量,確保產生的time.Time 物件反映所需的時區。

以上是如何建立具有特定時區偏移量的 time.Time 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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