在线文档  >   Golang练习   >   时间戳

程序中常见的要求是获取自 Unix 纪元(即 1970 年 1 月 1 日 UTC)以来的秒数、毫秒数或纳秒数。以下是如何在 Go 中实现。

package main

import (
    "fmt"
    "time"
)

func main() {

    // 使用 `time.Now` 结合 `Unix`、`UnixMilli` 或 `UnixNano`,分别获取自 Unix 纪元以来经过的秒数、毫秒数或纳秒数。
    now := time.Now()
    fmt.Println(now)

    fmt.Println(now.Unix())
    fmt.Println(now.UnixMilli())
    fmt.Println(now.UnixNano())

    // 您还可以将自纪元以来的整数秒数或纳秒数转换为相应的 `time`。
    fmt.Println(time.Unix(now.Unix(), 0))
    fmt.Println(time.Unix(0, now.UnixNano()))
}

运行结果如下:

$ go run epoch.go 
2012-10-31 16:13:58.292387 +0000 UTC
1351700038
1351700038292
1351700038292387000
2012-10-31 16:13:58 +0000 UTC
2012-10-31 16:13:58.292387 +0000 UTC

接下来,我们将看看另一个与时间相关的任务:时间解析和格式化。