奇怪的时间解析

简单代码:

func main() {
    date := "2020-12-23T16:39:24.362+06:00"
    t, _ := time.Parse("2006-01-02T15:04:05.000+06:00", date)
    fmt.Printf("t = %s", t)}

结果是t = 2006-12-23 16:39:24.362 +0000 UTC

游乐场链接:https: //play.golang.org/p/3U6CzIrrMsM

我在哪里做错了?


噜噜哒
浏览 76回答 1
1回答

呼啦一阵风

参考时间-0700有时区。引自time.Parse():Parse 解析格式化的字符串并返回它所代表的时间值。布局通过显示参考时间如何定义格式,定义为Mon Jan 2 15:04:05 -0700 MST 2006如果它是值,将被解释;它用作输入格式的示例。然后将对输入字符串进行相同的解释。通过此更改,它可以工作:date := "2020-12-23T16:39:24.362+06:00"t, err := time.Parse("2006-01-02T15:04:05.000-07:00", date)fmt.Println(err)fmt.Printf("t = %s", t)并输出(在Go Playground上试试):<nil>t = 2020-12-23 16:39:24.362 +0600 +0600
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go