golang时间戳如何转日期

admin 阅读:96 2024-06-07
要将 golang 中的 unix 时间戳转换为日期,可以使用以下方法:使用 time.unix() 函数将时间戳转换为 time 值。使用 time.parse() 函数解析以文本格式存储的时间戳。使用第三方库(如 joda-time、dateutil 和 time)。

golang时间戳如何转日期

如何将 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)
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!