我有这些代码: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我怎样才能实现这个目标?这对于 Go 来说可能吗?
1 回答
喵喵时光机
TA贡献1846条经验 获得超7个赞
你永远不会有0001-01-01 00:00:00 +0700 UTC,因为你忽略了错误,0001-01-01 00:00:00 +0000 UTC是一个零值。最后一条语句返回有关解析的错误,这是正确的版本。
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 – 印度尼西亚西部时间)
- 1 回答
- 0 关注
- 101 浏览
添加回答
举报
0/150
提交
取消