首頁 >後端開發 >Golang >如何將 Go 的 time.Now().UnixNano() 轉換為毫秒?

如何將 Go 的 time.Now().UnixNano() 轉換為毫秒?

Susan Sarandon
Susan Sarandon原創
2024-12-14 15:03:20959瀏覽

How to Convert Go's time.Now().UnixNano() to Milliseconds?

將Go 的time.Now().UnixNano() 轉換為毫秒

Go 程式語言提供了幾個處理時間的有用函數,包括time.Now ()。 UnixNano(),傳回奈秒精度的目前時間戳記。但是,您可能會遇到只需要毫秒精度的情況。

Go v1.17 及更高版本的解決方案

對於Go 版本1.17 及更高版本,time 套件提供了兩個新函數來簡化此操作task:

  • time.Now().UnixMicro():傳回微秒精度的時間戳記(時間戳後六位)小數點)。
  • time.Now().UnixMilli():傳回毫秒精度的時間戳記(小數點後三位)。

要取得毫秒時間戳,只需使用UnixMilli() 方法:

timeMs := time.Now().UnixMilli()

Go v1.16 的解決方案和早期

對於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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn