一尘不染

将字符串解析为time.Time值

go

我有一个格式的字符串时间20171023T183552。我没有找到任何格式来解析此字符串值。有什么办法可以将此字符串值转换为 Gotime.Time吗?

编辑-这不是重复的问题。我知道如何解析,但是我没有意识到我们可以使用除时间格式包中所列之外的任何布局。这个答案消除了我的疑惑。


阅读 261

收藏
2020-07-02

共1个答案

一尘不染

这是完全"YYYYMMDDTHHmmSS",所以使用格式字符串(布局)"20060102T150405"

例:

s := "20171023T183552"
t, err := time.Parse("20060102T150405", s)
fmt.Println(t, err)

输出(在Go Playground上尝试):

2017-10-23 18:35:52 +0000 UTC <nil>

引自以下文档的文档time.Parse()

解析解析一个格式化的字符串,并返回它表示的时间值。该布局通过显示参考时间(定义为

Mon Jan 2 15:04:05 -0700 MST 2006

如果它是值,将被解释;它用作输入格式的示例。然后将对输入字符串进行相同的解释。

因此,基本上可以使用输入可用的格式通过格式化参考时间来生成格式字符串。

对于相反的方向(转换time.Timestring

2020-07-02