Berechnen der Zeitdifferenz in Go mit time.Time
In Go ist das Ermitteln der Differenz zwischen zwei time.Time-Objekten mit dem Sub ganz einfach ()-Methode. Während time.Sub() einen time.Duration-Wert zurückgibt, lässt sich dieser Wert leicht in Stunden, Minuten und Sekunden interpretieren.
Bedenken Sie den folgenden Codeausschnitt:
import ( "fmt" "time" ) func main() { // Create two time.Time objects t1 := time.Date(2016, 9, 9, 19, 9, 16, 0, time.UTC) t2 := time.Date(2016, 9, 9, 19, 9, 16, 0, time.UTC) // Use the Sub() method to get the time difference diff := t2.Sub(t1) // By default, a time.Duration value formats itself intelligently fmt.Println("Time difference:", diff) }
Ausgabe:
Time difference: 0s
Da in diesem Beispiel die beiden Zeiten identisch sind, ist die Differenz Null und wird als formatiert „0s“.
Um den Zeitunterschied in einem spezifischeren Format zu erhalten, wie zum Beispiel „HH:mm:ss“, können wir einen time.Time-Wert aus time.Duration konstruieren und dann das Format( ) Methode.
// Construct a time.Time value from the time difference out := time.Time{}.Add(diff) // Use the time.Time value's Format() method formattedDiff := out.Format("15:04:05") fmt.Println("Formatted time difference:", formattedDiff)
Ausgabe:
Formatted time difference: 00:00:00
Beachten Sie, dass dieser Ansatz nur für Zeitunterschiede innerhalb von 24 Stunden geeignet ist. Für erhebliche Zeitunterschiede, die sich über Tage, Monate oder Jahre erstrecken, sind komplexere Berechnungen erforderlich.
Das obige ist der detaillierte Inhalt vonWie berechnet und formatiert man Zeitunterschiede in Go mit time.Time?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!