关键要点
- 时区加载:使用
time.LoadLocation
函数加载目标时区,如北京时间对应的Asia/Shanghai
时区。
- 时间解析:首先要将纽约时间解析为
time.Time
类型,这涉及到指定纽约时区。
- 时间转换:将解析后的纽约时间转换到目标的北京时间。
- 格式化输出:使用
time.Time
的Format
方法按照指定格式输出。
代码实现
package main
import (
"fmt"
"time"
)
func main() {
// 纽约时区
locNY, err := time.LoadLocation("America/New_York")
if err != nil {
fmt.Println("加载纽约时区失败:", err)
return
}
// 北京时间
locSH, err := time.LoadLocation("Asia/Shanghai")
if err != nil {
fmt.Println("加载上海时区失败:", err)
return
}
// 解析纽约时间
nyTime, err := time.ParseInLocation("2006-01-02 15:04:05", "2023-10-15 14:30:00", locNY)
if err != nil {
fmt.Println("解析纽约时间失败:", err)
return
}
// 转换到北京时间
shTime := nyTime.In(locSH)
// 格式化输出
fmt.Println(shTime.Format("2006年01月02日 15时04分05秒"))
}