Go时代(Epoch)实例

本篇文章帮大家学习Go时代(Epoch)实例,包含了Go时代(Epoch)实例使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

程序中的一个常见要求是获取自Unix纪元以来的秒数,毫秒或纳秒数。这里是如何在Go编程中做。使用Unix或UnixNano的time.Now,分别以秒或纳秒为单位获得自Unix纪元起的耗用时间。

注意,没有UnixMillis,所以要获取从纪元开始的毫秒数,需要手动除以纳秒。

还可以将整数秒或纳秒从历元转换为相应的时间。

具体的 epoch 用法,可参考示例中的代码 -

所有的示例代码,都放在 F:\worksp\golang 目录下。安装Go编程环境请参考:{#ZC_BLOG_HOST#}go/go_environment.html

json.go的完整代码如下所示 -

package main

import "fmt"
import "time"

func main() {

    // Use `time.Now` with `Unix` or `UnixNano` to get
    // elapsed time since the Unix epoch in seconds or
    // nanoseconds, respectively.
    now := time.Now()
    secs := now.Unix()
    nanos := now.UnixNano()
    fmt.Println(now)

    // Note that there is no `UnixMillis`, so to get the
    // milliseconds since epoch you'll need to manually
    // divide from nanoseconds.
    millis := nanos / 1000000
    fmt.Println(secs)
    fmt.Println(millis)
    fmt.Println(nanos)

    // You can also convert integer seconds or nanoseconds
    // since the epoch into the corresponding `time`.
    fmt.Println(time.Unix(secs, 0))
    fmt.Println(time.Unix(0, nanos))
}

执行上面代码,将得到以下输出结果 -

F:\worksp\golang>go run epoch.go
2017-01-22 09:16:32.2002635 +0800 CST
1485047792
1485047792200
1485047792200263500
2017-01-22 09:16:32 +0800 CST
2017-01-22 09:16:32.2002635 +0800 CST
    

站长公告

极客大全致力于分享java、c#、php、python等编程语言教程,帮助广大程序员解决问题。

热门标签