Golang time.Parse() 函数及示例

Golang time.Parse() 函数及示例

在Golang中,time包提供了许多操作时间的功能,其中 time.Parse() 函数是一个常用的函数,用于将字符串格式的时间转换为 time.Time 类型。

time.Parse() 函数的语法如下:

func Parse(layout, value string) (Time, error)

其中,layout 是时间的格式,value 是要转换的字符串。该函数返回 time.Time 类型和一个 error 类型。如果转换成功,error 为 nil。

我们使用一些例子来讲解 time.Parse() 函数。下面是一些比较常用的时间格式:

代码 描述 示例
2006-01-02T15:04:05Z ISO8601 UTC 时间 2021-08-16T08:30:45Z
2006-01-02T15:04:05-07:00 ISO8601 时区时间 2021-08-16T08:30:45-07:00
2006-01-02 15:04:05.000 带毫秒的时间 2021-08-16 08:30:45.123
Jan 2, 2006 at 3:04p (MST) 常见格式的时间显示 Aug 16, 2021 at 8:30am (PST)

示例1:将字符串解析为 time.Time 类型

下面的示例中,我们将使用 time.Parse() 函数将字符串格式的时间解析为 time.Time 类型的值。

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02T15:04:05Z"
    str := "2021-08-16T08:30:45Z"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(t)
}

以上代码的执行结果:

2021-08-16 08:30:45 +0000 UTC

示例2:将带时区的字符串解析为本地时间

下面的示例中,我们将使用 time.Parse() 函数将带时区的字符串解析为本地时间。

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02T15:04:05-07:00"
    str := "2021-08-16T08:30:45-07:00"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(t)
}

以上代码的执行结果:

2021-08-16 08:30:45 -0700 PST

示例3:将带毫秒的字符串解析为时间

下面的示例中,我们将使用 time.Parse() 函数将带毫秒的字符串解析为时间。

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "2006-01-02 15:04:05.000"
    str := "2021-08-16 08:30:45.123"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(t)
}

以上代码的执行结果:

2021-08-16 08:30:45.123 +0000 UTC

示例4:将常见格式的时间显示转换为时间

下面的示例中,我们将使用 time.Parse() 函数将常见格式的时间显示转换为时间。

package main

import (
    "fmt"
    "time"
)

func main() {
    layout := "Jan 2, 2006 at 3:04p (MST)"
    str := "Aug 16, 2021 at 8:30am (PST)"
    t, err := time.Parse(layout, str)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(t)
}

以上代码的执行结果:

2021-08-16 08:30:00 -0700 PST

结论

time.Parse() 函数是一个非常实用的函数,可以将字符串格式的时间转换为 time.Time 类型。在使用时需要注意时间格式的符号和顺序,可以根据需要自定义时间格式。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程