我试图将从NOAA观察中爬行的时间/日期从UTC转换为太平洋时间。原始数据被格式化为固定宽度空格分隔的字符串,我通过strings.Field将其转换为字符串数组。
原始数据如下:
data[0:5]
它存储为:
data
请注意,{{1}}还有其他观察结果,可在程序的其他地方使用。如何将其转换为太平洋时间,使其全年正确,包括夏令时变化?我最终希望以RFC822格式打印出来(即" 02年1月6日15:04太平洋标准时间和#34;)。
答案 0 :(得分: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))
}