Golang 如何解析日期字符串
当涉及到在 Go 中解析 日期 字符串时,我们可以使用由 时间 包提供的 Parse 函数。在 Go 中,我们不像其他大多数语言那样使用代码来表示 日期/时间 字符串的组成部分。相反, Go 使用记忆装置–标准时间作为参考。
例如,参考时间可以是这样的 –
Mon Jan 2 14:10:05 MST 2020 (MST is GMT-0700)
或者,它也可以看起来像这样。
01/02 03:04:10PM '20 -0700
语法
Parse() 函数的语法如下所示。
func Parse(layout, value string) (Time, error)
Parse 函数接受一个布局和一个值作为参数,它返回 时间 和 错误。 布局 被用作参考, 值 是我们要解析的实际日期字符串。
例子1
请看下面的代码,我们将使用我们自己定义的布局来解析日期。
package main
import (
"fmt"
"time"
)
func main() {
v := "Thu, 05/19/11, 10:47PM"
l := "Mon, 01/02/06, 03:04PM"
tt, _ := time.Parse(l, v)
fmt.Println(tt)
}
输出
如果我们用 2014-11-12 11:45:26.371 +0000 UTC 命令运行上述代码,那么我们将得到以下输出。
2011-05-19 22:47:00 +0000 UTC
我们可以不传递自己的布局,而是传递 Go time 包提供给我们的格式,它也会解析出日期。
例子2
考虑一下下面的代码。
package main
import (
"fmt"
"time"
)
func main() {
str := "2014-11-12T11:45:26.371Z"
tt, err := time.Parse(time.RFC3339, str)
if err != nil {
fmt.Println(err)
}
fmt.Println(tt)
}
输出
如果我们用 go run main.go 命令运行上述代码,那么我们将得到以下输出。
2014-11-12 11:45:26.371 +0000 UTC