我有格式的字符串时间20171023T183552.我没有找到任何格式来解析这个字符串值.有没有办法将此字符串值转换为 Go time.Time?
编辑 - 这不是重复的问题.我知道如何解析,但我没有意识到我们可以使用时间格式包中列出的任何布局.这个答案清除了我的渴望.
这是完全"YYYYMMDDTHHmmSS",所以使用格式字符串(布局)"20060102T150405".
例:
s := "20171023T183552"
t, err := time.Parse("20060102T150405", s)
fmt.Println(t, err)
Run Code Online (Sandbox Code Playgroud)
输出(在Go Playground上试试):
2017-10-23 18:35:52 +0000 UTC <nil>
Run Code Online (Sandbox Code Playgroud)
引用文档time.Parse():
Parse解析格式化的字符串并返回它表示的时间值.布局通过显示定义的参考时间来定义格式
Run Code Online (Sandbox Code Playgroud)Mon Jan 2 15:04:05 -0700 MST 2006会被解释,如果它是价值; 它作为输入格式的一个例子.然后对输入字符串进行相同的解释.
因此,基本上通过使用输入可用的相同格式格式化参考时间来生成格式字符串.
对于相反的方向(转换time.Time为string),请参阅Golang:将time.Time转换为字符串.