为了账号安全,请及时绑定邮箱和手机立即绑定

golang中字符串的时间转换

golang中字符串的时间转换

Go
开满天机 2021-11-22 15:34:01
我正在尝试将从 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


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信