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
Libérer: 2024-12-14 15:03:20
original
957 Les gens l'ont consulté

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()
Copier après la connexion

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
Copier après la connexion

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)
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal