Heim >Backend-Entwicklung >Golang >Wie kann ich die Differenz zwischen zwei Go „time.Time'-Objekten berechnen und formatieren?

Wie kann ich die Differenz zwischen zwei Go „time.Time'-Objekten berechnen und formatieren?

DDD
DDDOriginal
2024-12-20 20:07:10680Durchsuche

How Can I Calculate and Format the Difference Between Two Go `time.Time` Objects?

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:

  • golang time.Since() mit Monaten und Jahren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn