在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中文網其他相關文章!