Die Programmiersprache Go bietet mehrere nützliche Funktionen für den Umgang mit Zeit, einschließlich time.Now(). UnixNano(), das den aktuellen Zeitstempel mit Nanosekundengenauigkeit zurückgibt. Es kann jedoch vorkommen, dass Sie nur eine Präzision im Millisekundenbereich benötigen.
Für Go-Versionen 1.17 und höher bietet das Zeitpaket zwei neue Funktionen, die dies vereinfachen Aufgabe:
Um den Millisekunden-Zeitstempel zu erhalten, einfach Verwenden Sie die UnixMilli()-Methode:
timeMs := time.Now().UnixMilli()
Für Go-Versionen 1.16 und früher können Sie die gewünschte Konvertierung manuell durchführen. Da eine Millisekunde 1.000.000 Nanosekunden entspricht, können Sie den Nanosekunden-Zeitstempel durch 1.000.000 teilen:
timeMs := time.Now().UnixNano() / 1e6
Dadurch erhalten Sie den Millisekunden-Zeitstempel mit drei Nachkommastellen.
Um die Verwendung dieser Ansätze zu demonstrieren, finden Sie hier ein Beispiel Sie können Folgendes ausführen:
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) }
Durch die Ausführung dieses Codes werden die Zeitstempel mit einer Genauigkeit von Nanosekunden, Mikrosekunden bzw. Millisekunden ausgegeben.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Go's time.Now().UnixNano() in Millisekunden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!