Heim >Backend-Entwicklung >Golang >Wie kann ich die Differenz zwischen zwei Go „time.Time'-Objekten berechnen und formatieren?
Zeitdifferenzen mit time.Time-Objekten berechnen
Beim Programmieren mit Go ist die Darstellung von Zeitpunkten entscheidend. Der Typ time.Time bietet Funktionen zum Bearbeiten zeitbezogener Werte. Eine häufige Aufgabe ist die Berechnung der Differenz zwischen zwei Zeitpunkten.
Um die Zeitdifferenz zwischen zwei time.Time-Objekten zu ermitteln, können Sie die Methode time.Sub() verwenden. Das Ergebnis wird als time.Duration-Wert dargestellt.
time.Duration formatiert sich selbst so, dass der Zeitunterschied berücksichtigt wird. Zum Beispiel:
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
Wenn Sie die Zeit im Format HH:mm:ss wünschen, können Sie einen time.Time-Wert erstellen und dessen Zeit verwenden. Format()-Methode:
out := time.Time{}.Add(diff) fmt.Println(out.Format("15:04:05"))
Ausgabe:
00:05:41
Dieser Ansatz eignet sich für Zeitunterschiede unter 24 Std. Wenn sich die Zeit jedoch über mehrere Tage oder mehr erstreckt, sollten Sie die Verwendung einer Lösung in Betracht ziehen, die größere Zeitunterschiede berücksichtigt, wie z. B. die in der folgenden Frage bereitgestellte Funktion:
Das obige ist der detaillierte Inhalt vonWie kann ich die Differenz zwischen zwei Go „time.Time'-Objekten berechnen und formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!