我有一个UTC时间和一个以秒为单位的时间偏移量,需要返回相应的Go时间值。
使用time.Unix()函数可以轻松实例化UTC时间值。但是,要设置时区,我需要确定时间位置。
当我了解UTC时间和时间偏移量时,如何找到时间位置?
没有实际的入口来查找时区数据库,您无法知道时间的真实位置。如果您只想使用偏移量进行工作,可以使用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
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