猿问

golang中字符串的时间转换

我正在尝试将从 NOAA 观测中抓取的时间/日期从 UTC 转换为太平洋时间。原始数据被格式化为固定宽度的空格分隔字符串,我通过 strings.Field 将其转换为字符串数组。

原始数据如下所示:

2015 11 11 16 50

它存储为:

data[0:5]

请注意,data在程序中的其他地方使用了额外的观察结果。如何将其转换为太平洋时间以使其全年都是正确的,包括夏令时变化?我最终想以 RFC822 格式(即“02 Jan 06 15:04 PST”)打印出来。


开满天机
浏览 172回答 1
1回答

慕标5832272

您可以使用 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
随时随地看视频慕课网APP

相关分类

Go
我要回答