如何在Go语言中解析日期字符串?


在Go语言中解析**日期**字符串时,我们可以使用**time**包提供的**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

更新于:2022年2月22日

13K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.