Go 编程语言提供了几个有用的函数来处理时间,包括 time.Now()。 UnixNano(),返回纳秒精度的当前时间戳。但是,您可能会遇到只需要毫秒精度的情况。
对于 Go 版本 1.17 及更高版本,time 包提供了两个新函数来简化此操作task:
要获取毫秒时间戳,只需使用 UnixMilli() 方法:
timeMs := time.Now().UnixMilli()
对于 Go 1.16 及更早版本,您可以手动实现所需的转换。由于一毫秒相当于 1,000,000 纳秒,因此您可以将纳秒时间戳除以 1,000,000:
timeMs := time.Now().UnixNano() / 1e6
这将为您提供小数点后三位数字的毫秒时间戳。
为了演示这些方法的用法,这里有一个示例你可以运行:
package main import ( "fmt" "time" ) func main() { nanoTime := time.Now().UnixNano() microTime := time.Now().UnixMicro() milliTime := time.Now().UnixMilli() fmt.Println("Nano time:", nanoTime) fmt.Println("Micro time:", microTime) fmt.Println("Milli time:", milliTime) }
运行此代码将分别输出纳秒、微秒和毫秒精度的时间戳。
以上是如何将 Go 的 time.Now().UnixNano() 转换为毫秒?的详细内容。更多信息请关注PHP中文网其他相关文章!