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; hfunc 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( Gpackage 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
|
|
|
|
|
|