Golang 如何在 Unix 时间和时间之间转换?

在计算机科学中,Unix 时间是从 1970 年 1 月 1 日开始的秒数。Unix 时间是计算机系统中常用的一种时间表示方式,它可以表示任何时间,无论是过去、现在还是未来。

Golang 作为一种开源的编程语言,提供了许多功能强大的内置库,包括一些用于 Unix 时间和时间之间转换的方法。

在 Golang 中,可以使用 time 包来进行 Unix 时间和时间之间的转换。time 包提供了现代化的时间格式,非常方便操作和使用。

下面我们来学习一下如何在 Golang 中进行 Unix 时间和时间之间的转换。

  1. Unix 时间转时间

在 Golang 中可以使用 time.Unix() 方法将 Unix 时间转换为时间。代码如下:

// Unix time to time
timestamp := int64(1600000000)
datetime := time.Unix(timestamp, 0)
fmt.Println(datetime)

在这个示例中,我们定义了一个 Unix 时间戳为 1600000000。然后,我们使用 time.Unix() 方法将该 Unix 时间戳转换为时间。

time.Unix() 方法接收两个参数:第一个参数是 Unix 时间戳,第二个参数是纳秒。在这个示例中,我们设置了纳秒为 0。

最后,我们将结果打印出来,可以看到输出结果为 2020-09-13 08:26:40 +0000 UTC。

  1. 时间转 Unix 时间

在 Golang 中,可以使用 time.Unix() 方法将时间转换为 Unix 时间。代码如下:

// Time to Unix time
datetime := time.Date(2020, 9, 13, 8, 26, 40, 0, time.UTC)
timestamp := datetime.Unix()
fmt.Println(timestamp)

在这个示例中,我们定义了一个时间为 2020 年 9 月 13 日 8 点 26 分 40 秒。然后,我们使用 time.Unix() 方法将该时间转换为 Unix 时间戳。

最后,我们将结果打印出来,可以看到输出结果为 1600000000。

  1. 时间格式化为字符串

在 Golang 中,可以使用 time.Format() 方法将时间格式化为字符串。代码如下:

// Time to string
datetime := time.Date(2020, 9, 13, 8, 26, 40, 0, time.UTC)
str := datetime.Format("2006-01-02 15:04:05")
fmt.Println(str)

在这个示例中,我们定义了一个时间为 2020 年 9 月 13 日 8 点 26 分 40 秒。然后,我们使用 time.Format() 方法将该时间格式化为字符串。

time.Format() 方法接受一个参数,表示日期和时间的格式。在这个示例中,我们使用 "2006-01-02 15:04:05" 格式化日期和时间。

最后,我们将结果打印出来,可以看到输出结果为 "2020-09-13 08:26:40"。

  1. 字符串转时间

在 Golang 中,可以使用 time.Parse() 方法将字符串转换为时间。代码如下:

// String to time
str := "2020-09-13 08:26:40"
datetime, _ := time.Parse("2006-01-02 15:04:05", str)
fmt.Println(datetime)

在这个示例中,我们定义了一个字符串 "2020-09-13 08:26:40"。然后,我们使用 time.Parse() 方法将该字符串转换为时间。

time.Parse() 方法接收两个参数:第一个参数是日期和时间的格式,第二个参数是要转换的字符串。

在这个示例中,我们使用 "2006-01-02 15:04:05" 格式化日期和时间。

最后,我们将结果打印出来,可以看到输出结果为 2020-09-13 08:26:40 +0000 UTC。

总结

通过 Golang 中的 time 包,我们可以方便地对 Unix 时间和时间之间进行转换,并对时间进行格式化。本文介绍了四种常用的转换方式:

  1. Unix 时间转时间
  2. 时间转 Unix 时间
  3. 时间格式化为字符串
  4. 字符串转时间

掌握这些技巧,可以在 Golang 开发中轻松实现 Unix 时间和时间之间的转换。

以上就是Golang 如何在 Unix 时间和时间之间转换?的详细内容,更多请关注https://www.sxiaw.com/其它相关文章!