如何以毫秒为单位在 Go 中获得 Unix 时间?
我有以下功能:
func makeTimestamp() int64 { return time.Now().UnixNano() % 1e6 / 1e3 }
我需要较低的精度,只需要毫秒。
从 go v1.17 开始,该time软件包添加了UnixMicro()and UnixMilli(),因此正确答案是:time.Now().UnixMilli()
time
UnixMicro()
UnixMilli()
time.Now().UnixMilli()
把它分开:
func makeTimestamp() int64 { return time.Now().UnixNano() / int64(time.Millisecond) }
这是一个示例,您可以编译并运行以查看输出
package main import ( "time" "fmt" ) func main() { a := makeTimestamp() fmt.Printf("%d \n", a) } func makeTimestamp() int64 { return time.Now().UnixNano() / int64(time.Millisecond) }