当前位置: 首页>>编程语言>>正文


Go语言教程:时间戳

返回Go语言教程首页

概念简介

一般程序会有获取Unix 时间的秒数,毫秒数,或者微秒数的需要。来看看如何用 Go 来实现。

例程代码


package main

import "fmt"
import "time"

func main() {

    // 分别使用带 `Unix` 或者 `UnixNano` 的 `time.Now`
    // 来获取从自[协调世界时](http://zh.wikipedia.org/wiki/%E5%8D%94%E8%AA%BF%E4%B8%96%E7%95%8C%E6%99%82)
    // 起到现在的秒数或者纳秒数。
    now := time.Now()
    secs := now.Unix()
    nanos := now.UnixNano()
    fmt.Println(now)

    // 注意 `UnixMillis` 是不存在的,所以要得到毫秒数的话,
    // 你要自己手动的从纳秒转化一下。
    millis := nanos / 1000000
    fmt.Println(secs)
    fmt.Println(millis)
    fmt.Println(nanos)

    // 你也可以将协调世界时起的整数秒或者纳秒转化到相应的时间。
    fmt.Println(time.Unix(secs, 0))
    fmt.Println(time.Unix(0, nanos))
}

执行&输出


$ 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

# 下面我们将看看另一个事件相关的任务:时间格式化和解析。

课程导航

学习上一篇:Go语言教程:时间    学习下一篇:Go语言教程:时间的格式化和解析

相关资料

本例程github源代码:https://github.com/xg-wang/gobyexample/tree/master/examples/epoch

Go语言时间戳

本文由《纯净天空》出品。文章地址: https://vimsky.com/article/4095.html,未经允许,请勿转载。