首頁 >後端開發 >Golang >如何在 Go 中將時間偏移字串轉換為 Time.Location 物件?

如何在 Go 中將時間偏移字串轉換為 Time.Location 物件?

Barbara Streisand
Barbara Streisand原創
2024-12-14 19:29:13190瀏覽

How to Convert a Time Offset String to a Time.Location Object in Go?

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

使用時區和偏移時,通常會遇到需要以下情況的情況:將表示為字串的原始時間偏移轉換為Go 中可用的位置物件。使用 time 套件提供的方法可以輕鬆實現這一點。

假設您獲得了任意時間偏移,例如「1100」。若要建立表示此偏移量的time.Location 對象,只需使用FixZone 函數,如下所示:

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

此函數建立一個具有指定名稱和以秒為單位的偏移量的位置。

要關聯這個新建立位置的時間,使用 In 方法:

t = t.In(loc)

此操作修改時間 t以反映指定位置並更新其偏移

以下範例示範了不同上下文中時間的轉換和後續輸出:

package main

import (
    "fmt"
    "time"
)

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

    // Output the original time and location
    fmt.Println(t)      // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC

    // Apply the new location to the time
    t = t.In(loc)

    // Output the modified time and location
    fmt.Println(t)      // Output: 2023-09-14 05:37:08.729331723 +1100 UTC+11
    fmt.Println(t.Location()) // Output: UTC+11

    // Output the UTC equivalent of the modified time
    fmt.Println(t.UTC()) // Output: 2023-09-13 18:37:08.729331723 +0000 UTC
    fmt.Println(t.Location()) // Output: UTC+11
}

此程式碼顯示如何將時間偏移轉換為位置物件並應用它是為了獲得不同時區的準確表示的時間。

以上是如何在 Go 中將時間偏移字串轉換為 Time.Location 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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