使用time.Unix函数将Unix时间戳转换为时间格式

介绍Unix时间戳和Go语言中的time包

Unix时间戳是从1970年1月1日以来经过的秒数。Go语言中使用的time包提供了几个有用的函数来处理时间相关的操作,例如将Unix时间戳转换为时间格式。在本文中,我们将使用time.Unix函数将Unix时间戳转换为易于理解的时间格式。

使用time.Unix函数将Unix时间戳转换为时间格式

将Unix时间戳转换为时间格式

在Go语言中,我们可以使用time.Unix函数将Unix时间戳转换为时间格式。time.Unix函数的定义如下:

func Unix(sec int64, nsec int64) Time

该函数接受两个参数,第一个参数是秒数,第二个参数是纳秒数。我们可以使用time.Now函数获取当前的Unix时间戳,然后用time.Unix函数将其转换为时间格式。下面是一个示例程序:

package main

import (

"fmt"

"time"

)

func main() {

unixTime := time.Now().Unix()

fmt.Println(unixTime)

t := time.Unix(unixTime, 0)

fmt.Println(t)

}

上面的程序首先使用time.Now函数获取当前的Unix时间戳,然后使用time.Unix函数将其转换为时间格式。输出结果如下:

1609346935

2020-12-30 20:48:55 +0800 CST

我们可以看到,第一行输出的是Unix时间戳(秒数),第二行输出的是经过格式化后的时间。

将时间格式转换为Unix时间戳

除了将Unix时间戳转换为时间格式外,我们还可以将时间格式转换为Unix时间戳。Go语言中,我们可以使用Time.Unix函数将时间格式转换为Unix时间戳。Time.Unix函数的定义如下:

func (t Time) Unix() int64

该函数不接受任何参数,返回值是一个int64类型的Unix时间戳。下面是一个示例程序:

package main

import (

"fmt"

"time"

)

func main() {

t, _ := time.Parse("2006-01-02 15:04:05", "2020-12-30 20:48:55")

fmt.Println(t)

unixTime := t.Unix()

fmt.Println(unixTime)

}

上面的程序首先使用time.Parse函数将一个字符串解析为时间格式,然后使用Time.Unix函数将时间格式转换为Unix时间戳。输出结果如下:

2020-12-30 20:48:55 +0000 UTC

1609346935

我们可以看到,第一行输出的是经过格式化后的时间,第二行输出的是Unix时间戳。

总结

本文介绍了如何使用time.Unix函数将Unix时间戳转换为时间格式,以及如何将时间格式转换为Unix时间戳。使用time包可以方便地处理时间相关的操作。

后端开发标签