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