我正在尝试将从 NOAA 观测中抓取的时间/日期从 UTC 转换为太平洋时间。原始数据被格式化为固定宽度的空格分隔字符串,我通过 strings.Field 将其转换为字符串数组。原始数据如下所示:2015 11 11 16 50它存储为:data[0:5]请注意,data在程序中的其他地方使用了额外的观察结果。如何将其转换为太平洋时间以使其全年都是正确的,包括夏令时变化?我最终想以 RFC822 格式(即“02 Jan 06 15:04 PST”)打印出来。
1 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
您可以使用 time.Parse 和 Go 的参考时间 ( https://golang.org/pkg/time/#pkg-constants )将原始数据直接解析为 UTC 时间,然后加载 PST 位置并将时间转换为那个位置。然后可以根据需要对其进行格式化,例如:
func main() {
t, err := time.Parse("2006 01 02 15 04", "2015 11 11 16 50")
fmt.Println(t, err)
loc, err := time.LoadLocation("America/Los_Angeles")
fmt.Println(loc, err)
t = t.In(loc)
fmt.Println(t.Format(time.RFC822))
}
http://play.golang.org/p/mIXxVhmkDB
- 1 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消