要将 golang 中的 unix 时间戳转换为日期,可以使用以下方法:使用 time.unix() 函数将时间戳转换为 time 值。使用 time.parse() 函数解析以文本格式存储的时间戳。使用第三方库(如 joda-time、dateutil 和 time)。
如何将 Golang 时间戳转换为日期
在 Golang 中,时间戳是一个整型值,表示自 Unix 纪元(1970 年 1 月 1 日午夜 UTC)以来的秒数。有时您需要将时间戳转换为可读的日期格式。
使用 time.Unix()
要将 Unix 时间戳转换为 Time 值,可以使用 time.Unix() 函数:
import "time"
func main() {
// 以秒为单位的时间戳
timestamp := int64(1658038400)
// 将时间戳转换为 Time 值
t := time.Unix(timestamp, 0)
// 格式化日期
fmt.Println(t.Format("2006-01-02")) // 输出: 2023-07-17
}
使用 time.Parse()
如果您有以文本格式存储的时间戳,则可以使用 time.Parse() 函数将其转换为 Time 值:
import "time"
func main() {
// 以文本格式的时间戳
timestamp := "1658038400"
// 解析时间戳
t, err := time.Parse("20060102", timestamp)
if err != nil {
// 处理错误
}
// 格式化日期
fmt.Println(t.Format("2006-01-02")) // 输出: 2023-07-17
}
使用第三方库
还有一些第三方库可以轻松地将时间戳转换为日期,例如:
- [joda-time](https://github.com/JodaOrg/joda-time)
- [dateutil](https://github.com/buger/dateutil)
- [time](https://github.com/jinzhu/time)