Maison >développement back-end >Golang >Comment convertir le time.Now().UnixNano() de Go en millisecondes ?

Comment convertir le time.Now().UnixNano() de Go en millisecondes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-14 15:03:20961parcourir

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

Conversion du time.Now().UnixNano() de Go en millisecondes

Le langage de programmation Go fournit plusieurs fonctions utiles pour gérer le temps, notamment time.Now(). UnixNano(), qui renvoie l'horodatage actuel avec une précision de la nanoseconde. Cependant, vous pouvez rencontrer des situations où vous n'avez besoin que d'une précision de la milliseconde.

Solution pour Go v1.17 et versions ultérieures

Pour les versions Go 1.17 et supérieures, le package time propose deux nouvelles fonctions qui simplifient cela task:

  • time.Now().UnixMicro() : renvoie l'horodatage avec une précision de la microseconde (six chiffres après la virgule point).
  • time.Now().UnixMilli() : renvoie l'horodatage avec une précision en millisecondes (trois chiffres après la virgule décimale).

Pour obtenir l'horodatage en millisecondes, simplement utilisez la méthode UnixMilli() :

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

Solution pour Go v1.16 et Antérieures

Pour les versions Go 1.16 et antérieures, vous pouvez réaliser la conversion souhaitée manuellement. Puisqu'une milliseconde équivaut à 1 000 000 de nanosecondes, vous pouvez diviser l'horodatage de la nanoseconde par 1 000 000 :

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

Cela vous donnera l'horodatage de la milliseconde avec trois chiffres après la virgule décimale.

Exemple

Pour démontrer l'utilisation de ces approches, voici un exemple vous pouvez exécuter :

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)
}

L'exécution de ce code affichera les horodatages avec une précision en nanoseconde, microseconde et milliseconde respectivement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn