是的,Go語言的時間處理庫time
支持時區(qū)轉(zhuǎn)換。你可以使用time.LoadLocation
函數(shù)加載一個時區(qū),然后使用time.Time
類型的In
方法將時間從一個時區(qū)轉(zhuǎn)換到另一個時區(qū)。以下是一個簡單的示例:
package main
import (
"fmt"
"time"
)
func main() {
// 獲取當(dāng)前時間
now := time.Now()
// 加載上海時區(qū)
location, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println("Error loading location:", err)
return
}
// 將當(dāng)前時間轉(zhuǎn)換為上海時區(qū)
shanghaiTime := now.In(location)
fmt.Println("Current time in Shanghai:", shanghaiTime)
// 加載紐約時區(qū)
location, err = time.LoadLocation("America/New_York")
if err != nil {
fmt.Println("Error loading location:", err)
return
}
// 將當(dāng)前時間轉(zhuǎn)換為紐約時區(qū)
newYorkTime := now.In(location)
fmt.Println("Current time in New York:", newYorkTime)
}
在這個示例中,我們首先獲取了當(dāng)前時間,然后分別加載了上海和紐約的時區(qū),并將當(dāng)前時間轉(zhuǎn)換為了這兩個時區(qū)的時間。注意,時區(qū)名稱應(yīng)該是完整的,例如"Asia/Shanghai"
和"America/New_York"
。