Maison >développement back-end >Golang >Comment convertir le 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.
Pour les versions Go 1.17 et supérieures, le package time propose deux nouvelles fonctions qui simplifient cela task:
Pour obtenir l'horodatage en millisecondes, simplement utilisez la méthode UnixMilli() :
timeMs := time.Now().UnixMilli()
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.
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!