Heim > Backend-Entwicklung > Golang > Wie kann ich Zeitunterschiede zwischen zwei time.Time-Objekten in Go effizient berechnen und formatieren?

Wie kann ich Zeitunterschiede zwischen zwei time.Time-Objekten in Go effizient berechnen und formatieren?

Patricia Arquette
Freigeben: 2024-12-09 02:45:11
Original
324 Leute haben es durchsucht

How Can I Efficiently Calculate and Format Time Differences Between Two time.Time Objects in Go?

Berechnen von Zeitunterschieden mit Time.Time-Objekten

In Golang können Zeitunterschiede zwischen zwei time.Time-Objekten einfach mithilfe von Time ermittelt werden .Sub()-Funktion. Das Ergebnis dieser Operation ist ein time.Duration-Wert.

Standardmäßig wird die Dauer intelligent formatiert, wie im folgenden Beispiel zu sehen ist:

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)
}
Nach dem Login kopieren

Ausgabe:

2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:05:41 +0000 UTC
5m41s
Nach dem Login kopieren

Für Dauern, die kürzer als ein Tag sind, können Sie den Time.Time-Objektkonstruktor und die Time.Format()-Methode verwenden, um HH:mm:ss zu erhalten Format:

out := time.Time{}.Add(diff)
fmt.Println(out.Format("15:04:05"))
Nach dem Login kopieren

Ausgabe:

00:05:41
Nach dem Login kopieren

Beachten Sie, dass diese Methode nur für Zeitunterschiede innerhalb von 24 Stunden gilt. Bei größeren Unterschieden müssen Sie möglicherweise komplexere Lösungen in Betracht ziehen, wie in diesem verwandten Thread besprochen:

[golang time.Since() mit Monaten und Jahren](https://github.com/golang/go /issues/17461)

Das obige ist der detaillierte Inhalt vonWie kann ich Zeitunterschiede zwischen zwei time.Time-Objekten in Go effizient berechnen und formatieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage