Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menukar masa Go.Now().UnixNano() kepada Milliseconds?

Bagaimana untuk Menukar masa Go.Now().UnixNano() kepada Milliseconds?

Susan Sarandon
Susan Sarandonasal
2024-12-14 15:03:20959semak imbas

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

Menukar masa Go.Now().UnixNano() kepada Milliseconds

Bahasa pengaturcaraan Go menyediakan beberapa fungsi berguna untuk mengendalikan masa, termasuk masa.Now(). UnixNano(), yang mengembalikan cap masa semasa dengan ketepatan nanosaat. Walau bagaimanapun, anda mungkin menghadapi situasi di mana anda hanya memerlukan ketepatan milisaat.

Penyelesaian untuk Go v1.17 dan Kemudian

Untuk Go versi 1.17 dan ke atas, pakej masa menawarkan dua fungsi baharu yang memudahkan perkara ini tugasan:

  • masa.Now().UnixMicro(): Mengembalikan cap masa dengan mikrosaat ketepatan (enam digit selepas titik perpuluhan).
  • masa.Now().UnixMilli(): Mengembalikan cap masa dengan ketepatan milisaat (tiga digit selepas titik perpuluhan).

Untuk mendapatkan cap masa milisaat, hanya gunakan kaedah UnixMilli():

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

Solution for Go v1.16 dan Terdahulu

Untuk Go versi 1.16 dan lebih awal, anda boleh mencapai penukaran yang diingini secara manual. Memandangkan satu milisaat bersamaan dengan 1,000,000 nanosaat, anda boleh membahagikan cap masa nanosaat dengan 1,000,000:

timeMs := time.Now().UnixNano() / 1e6

Ini akan memberi anda cap masa milisaat dengan tiga digit selepas titik perpuluhan.

Contoh 🎜>

Untuk menunjukkan penggunaan ini pendekatan, berikut ialah contoh yang boleh anda jalankan:

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)
}
Menjalankan kod ini akan mengeluarkan cap masa masing-masing dengan ketepatan nanosaat, mikrosaat dan milisaat.

Atas ialah kandungan terperinci Bagaimana untuk Menukar masa Go.Now().UnixNano() kepada Milliseconds?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn