我有以下代碼:timeLocal := "01/July/2015:18:12:25 +0900"inFormat := "02/January/2006:15:04:05 -0700"parsed, err := time.Parse(inFormat, timeLocal)if err != nil { log.Fatal("Time format was not recognized!")}現(xiàn)在,解析工作正常。但是當(dāng)我運(yùn)行時(shí):fmt.Println(timeLocal)fmt.Println(inFormat)fmt.Println(parsed)輸出是:01/July/2015:18:12:25 +090002/January/2006:15:04:05 -07002015-07-01 18:12:25 +0900 +0900第二個(gè)應(yīng)該在+0900那里嗎?我在做什么蠢事?抱歉,這真是漫長的一天,我不知道我錯(cuò)過了什么。哦,整個(gè)文件在這里:package mainimport ( "fmt" "time" "log")func main() { timeLocal := "01/July/2015:18:12:25 +0900" inFormat := "02/January/2006:15:04:05 -0700" parsed, err := time.Parse(inFormat, timeLocal) if err != nil { log.Fatal("Time format was not recognized!") } fmt.Println(timeLocal) fmt.Println(inFormat) fmt.Println(parsed)}
2 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
Time.String使用的默認(rèn)格式是這樣的:
2006-01-02 15:04:05.999999999 -0700 MST
注意“MST”部分。由于您沒有提供區(qū)域的名稱,因此格式只是將其“命名”為與偏移量相同的名稱,即“+0900”。如果您將其更改為“+0000”,您將看到這確實(shí)是一個(gè)時(shí)區(qū)名稱:
2015-07-01 18:12:25 +0000 UTC
如果您不希望那樣,只需使用單獨(dú)的格式進(jìn)行打?。?/p>
myFmt := "2006-01-02 15:04:05.999999999 -0700"
fmt.Println(parsed.Format(myFmt))
- 2 回答
- 0 關(guān)注
- 228 瀏覽
添加回答
舉報(bào)
0/150
提交
取消