Heim >Backend-Entwicklung >Golang >Wie berechnet man die Differenz zwischen zwei Zeitinstanzen in Go?
Bestimmen von Zeitunterschieden
Sie haben zwei time.Time-Instanzen und müssen deren Differenz in Stunden, Minuten und Sekunden berechnen. Betrachten Sie die Szenarien:
Lösung
Um die Differenz zu berechnen, verwenden Sie die Funktion Time.Sub(). Das Ergebnis ist ein time.Duration-Wert.
Time.Duration druckt sich intelligent aus:
package main import ( "fmt" "time" ) func main() { t1 := time.Now() t2 := t1.Add(time.Second * 341) fmt.Println(t1) fmt.Println(t2) diff := t2.Sub(t1) fmt.Println(diff) }
Ausgabe:
2009-11-10 23:00:00 +0000 UTC 2009-11-10 23:05:41 +0000 UTC 5m41s
Für ein Zeitformat von HH:mm :ss, konstruiere einen time.Time-Wert und verwende dessen Time.Format() Methode:
out := time.Time{}.Add(diff) fmt.Println(out.Format("15:04:05"))
Ausgabe:
00:05:41
Dies funktioniert für Zeitunterschiede unter 24 Stunden. Bei größeren Unterschieden sollten Sie eine Lösung in Betracht ziehen, die Tage, Monate und Jahre umfasst.
Das obige ist der detaillierte Inhalt vonWie berechnet man die Differenz zwischen zwei Zeitinstanzen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!