回答

收藏

Go time.Now().UnixNano() 转换为毫秒?

技术问答 技术问答 281 人阅读 | 0 人回复 | 2023-09-12

如何以毫秒为单位 Go 中获得 Unix 时间?. Y' n' o2 x+ j% ?- w  t
我有以下功能:4 P- n7 y4 {3 @) s9 `
    func makeTimestamp() int64 {    return time.Now().UnixNano() % 1e6 / 1e3}3 n7 }) }; U: a# m4 D1 D# d3 F6 ?
我需要更低的精度,只需要毫秒。6 x7 \% g5 ]* e6 Y- Z
                                                                4 Y. R7 ~& |5 Y, C  R' f0 {  f
    解决方案:                                                                , f7 a2 y! T2 k4 Z- J3 F  i% ?* n
                                                                从 go v1.17 开始,该time添加了软件包UnixMicro()and UnixMilli()所以正确的答案是:time.Now().UnixMilli()
4 `4 M) N+ G. W8 r原答案:把它分开:
: F5 f8 n  [% `) Q  N7 w; h
    func makeTimestamp() int64 {    return time.Now().UnixNano() / int64(time.Millisecond)}2 ^+ m$ `' m/ B+ b# _2 W- `0 N$ h
这是一个例子,您可以编译和操作来查看输出
8 l8 M! Z7 e4 O4 M: q; V- h( G
    package mainimport  "time"    "fmt")func main()      a := makeTimestamp()    fmt.Printf("%d \n",a)}func makeTimestamp() int64 {    return time.Now().UnixNano() / int64(time.Millisecond)}* S& Z% p4 x/ L  j3 U
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则