Golang 时间解析问题

我正在执行下面的代码来解析时间


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

任何人都可以告诉这里的问题是什么。


交互式爱情
浏览 119回答 1
1回答

HUH函数

这是因为您的格式字符串不正确。时区指示必须是-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>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go