1
我使用Go的时间程序包将格式化的时间字符串UnixDate
转换为格式化的时间RFC3339
。这似乎很容易,在我的本地机器上运行良好,但是在远程主机上运行时,时区信息似乎会丢失。将转换时间从UnixDate转换为RFC3339无法保留时区
输入时间是东部澳大利亚标准时间(EST),似乎被解释为UTC,时间为time.Parse()
。
代码片断可用here:
package main
import "fmt"
import "time"
func main() {
t,_ := time.Parse(time.UnixDate,"Mon Jan 14 21:50:45 EST 2013")
fmt.Println(t.Format(time.RFC3339)) // prints time as Z
t2,_:=time.Parse(time.RFC3339,t.Format(time.RFC3339))
fmt.Println(t2.Format(time.UnixDate)) // prints time as UTC
}
我是否需要专门设置区域设置或什么?
谢谢,这似乎太容易成为真实:-)。所以我的直接解决方法是需要时间输入到UTC并将时区转换问题推送给我的客户。有没有更好的解决方法,通过设置位置/区域来消除时区缩写的歧义?您提到的线程没有描述解决方案。 – scaganoff