我正在執行下面的代碼來解析時間var time_format = "2006-01-02T15:04:05.000+0700"var s = "2018-08-23T14:10:31.692+0700"p, _ := time.Parse(time_format, s)fmt.Println(p.String())上述程序的輸出如下。2018-08-23 14:10:31.692 +0000 UTC這是 UTC 的同一時間,而我正在解析一個比 UTC 提前 +0700 的時間,因此預期的結果應該是2018-08-23 7:10:31.692 +0000 UTC任何人都可以告訴這里的問題是什么。
1 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
這是因為您的格式字符串不正確。時區指示必須是-0700(不是+0700)。time.Parse():
布局通過顯示如何定義參考時間來定義格式
Mon Jan 2 15:04:05 -0700 MST 2006
通過該更改,它可以工作:
var format = "2006-01-02T15:04:05.000-0700"
var s = "2018-08-23T14:10:31.692+0700"
p, err := time.Parse(format, s)
fmt.Println(p.String(), err)
這將輸出(在Go Playground上嘗試):
2018-08-23 14:10:31.692 +0700 +0700 <nil>
- 1 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消