Go time.Now().UnixNano() 转换为毫秒? [英] Go time.Now().UnixNano() convert to milliseconds?

查看:131
本文介绍了Go time.Now().UnixNano() 转换为毫秒?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何以毫秒为单位在 Go 中获取 Unix 时间?

How can I get Unix time in Go in milliseconds?

我有以下功能:

func makeTimestamp() int64 {
    return time.Now().UnixNano() % 1e6 / 1e3
}

我需要较低的精度,只需要毫秒.

I need less precision and only want milliseconds.

推荐答案

2021 答案:

从 go v1.17 开始,time 包添加了 UnixMicro()UnixMilli(),所以正确答案是:time.Now().UnixMilli()

The 2021 answer:

As of go v1.17, the time package added UnixMicro() and UnixMilli(), so the correct answer would be: time.Now().UnixMilli()

把它分开:

func makeTimestamp() int64 {
    return time.Now().UnixNano() / int64(time.Millisecond)
}

这里是一个例子,你可以编译运行看看输出

Here is an example that you can compile and run to see the output

package main

import (
    "time"
    "fmt"
)

func main() {
    a := makeTimestamp()

    fmt.Printf("%d \n", a)
}

func makeTimestamp() int64 {
    return time.Now().UnixNano() / int64(time.Millisecond)
}

这篇关于Go time.Now().UnixNano() 转换为毫秒?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆