将字符串解析为时间。时间值

时间:2017-11-17 13:33:16

标签: parsing go time

我的格式为20171023T183552的字符串时间。我没有找到任何格式来解析这个字符串值。有没有办法将此字符串值转换为 Go time.Time?

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

1 个答案:

答案 0 :(得分:8)

这只是"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()的文件:

  

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

)来定义格式
Mon Jan 2 15:04:05 -0700 MST 2006
     如果它是值,

将被解释;它作为输入格式的一个例子。然后对输入字符串进行相同的解释。

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

对于相反方向(将time.Time转换为string),请参阅Golang: convert time.Time to string