在知道UTC时间和时间偏移时,如何设置Go of Time时间值?

时间:2017-09-15 18:46:54

标签: go timezone

我有一个UTC时间和一个以秒为单位的时间偏移,需要返回相应的Go时间值。

使用time.Unix()函数实例化UTC时间值是微不足道的。但要设置区域,我需要确定时间。位置。

如何在知道UTC时间和时间偏移时找到时间。位置?

1 个答案:

答案 0 :(得分:3)

如果没有在时区数据库中查找的实际条目,您就无法知道该时间的真实位置。如果您只想使用偏移量,可以使用time.FixedZone

创建固定位置
edt := time.FixedZone("EDT", -60*60*4)
t, _ := time.ParseInLocation("02 Jan 06 15:04", "15 Sep 17 14:55", edt)
fmt.Println(t)

// 2017-09-15 14:55:00 -0400 EDT

您可以选择指定不存在的区域名称,或者根本不指定,只要您使用的输出格式不需要。“/ p>

minus4 := time.FixedZone("", -60*60*4)
t, _ = time.ParseInLocation("02 Jan 06 15:04", "15 Sep 17 14:55", minus4)
fmt.Println(t.Format(time.RFC3339))

// 2017-09-15T14:55:00-04:00