Golang 如何在 Unix 时间和时间之间转换?
在计算机科学中,Unix 时间是从 1970 年 1 月 1 日开始的秒数。Unix 时间是计算机系统中常用的一种时间表示方式,它可以表示任何时间,无论是过去、现在还是未来。
Golang 作为一种开源的编程语言,提供了许多功能强大的内置库,包括一些用于 Unix 时间和时间之间转换的方法。
在 Golang 中,可以使用 time 包来进行 Unix 时间和时间之间的转换。time 包提供了现代化的时间格式,非常方便操作和使用。
下面我们来学习一下如何在 Golang 中进行 Unix 时间和时间之间的转换。
- 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。
- 时间转 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。
- 时间格式化为字符串
在 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"。
- 字符串转时间
在 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 时间和时间之间进行转换,并对时间进行格式化。本文介绍了四种常用的转换方式:
- Unix 时间转时间
- 时间转 Unix 时间
- 时间格式化为字符串
- 字符串转时间
掌握这些技巧,可以在 Golang 开发中轻松实现 Unix 时间和时间之间的转换。
以上就是Golang 如何在 Unix 时间和时间之间转换?的详细内容,更多请关注其它相关文章!