首頁 >後端開發 >Golang >如何在 Go 中將時間偏移轉換為時區和位置?

如何在 Go 中將時間偏移轉換為時區和位置?

Susan Sarandon
Susan Sarandon原創
2024-12-11 16:25:14932瀏覽

How to Convert a Time Offset to a Timezone and Location in Go?

在Go 中將時間偏移轉換為位置/時區

當處理包含時間偏移但缺少位置資訊的時間資料時,它有必要創建一個可用的time.Location物件來準確記錄偏移量並輸出相對於使用者的時間location.

在Go中,可以使用FixedZone函數來指定相對於UTC具有固定偏移量的位置。例如,要建立偏移量為11 的位置,請使用以下程式碼:

loc := time.FixedZone("UTC+11", +11*60*60)

定義位置後,將其設定為所需的時間物件:

t = t.In(loc)

This會將時間物件調整到指定的位置及其時間偏移量。

運行以下程式碼範例了這一點過程:

package main

import (
    "fmt"
    "time"
)

func main() {
    loc := time.FixedZone("UTC+11", +11*60*60)

    t := time.Now()
    fmt.Println(t)
    fmt.Println(t.Location())

    t = t.In(loc)
    fmt.Println(t)
    fmt.Println(t.Location())

    fmt.Println(t.UTC())
    fmt.Println(t.Location())
}

輸出:

2009-11-10 23:00:00 +0000 UTC m=+0.000000001
UTC
2009-11-11 10:00:00 +1100 UTC+11
UTC+11
2009-11-10 23:00:00 +0000 UTC
UTC+11

如圖所示,原始時間(UTC 格式)被調整到指定的偏移位置。輸出也顯示 time.UTC() 方法傳回 UTC 中的原始時間,而 time.Location() 方法傳回調整後的位置資訊。

以上是如何在 Go 中將時間偏移轉換為時區和位置?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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