我有這些代碼:package mainimport ( "fmt" "time")func main() { tzJakarta, _ := time.LoadLocation("Asia/Jakarta") stringTime := fmt.Sprintf("05-05-2019 05:11 %s", tzJakarta) parsedTime, _ := time.Parse("02-01-2006 15:04 MST", stringTime) fmt.Println(tzJakarta) fmt.Println(stringTime) fmt.Println(parsedTime)}輸出是:Asia/Jakarta05-05-2019 05:11 Asia/Jakarta0001-01-01 00:00:00 +0000 UTC我期望的是這樣的:Asia/Jakarta05-05-2019 05:11 Asia/Jakarta0001-01-01 00:00:00 +0700 UTC我怎樣才能實(shí)現(xiàn)這個(gè)目標(biāo)?這對于 Go 來說可能嗎?
1 回答

喵喵時(shí)光機(jī)
TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
你永遠(yuǎn)不會有0001-01-01 00:00:00 +0700 UTC,因?yàn)槟愫雎粤隋e誤,0001-01-01 00:00:00 +0000 UTC是一個(gè)零值。最后一條語句返回有關(guān)解析的錯誤,這是正確的版本。
package main
import (
? ? "fmt"
? ? "time"
)
func main() {
? ? loc, _ := time.LoadLocation("Asia/Jakarta")
? ? // Note: without explicit zone, returns time in given location.
? ? const shortForm = "02-01-2006 15:04"
? ? t, _ := time.ParseInLocation(shortForm, "05-05-2019 05:11", loc)
? ? fmt.Println(t)
}
輸出:
2019-05-05 05:11:00 +0700 WIB?
(WIB – 印度尼西亞西部時(shí)間)
- 1 回答
- 0 關(guān)注
- 134 瀏覽
添加回答
舉報(bào)
0/150
提交
取消