Maison > développement back-end > Golang > Comment puis-je calculer et formater efficacement les différences de temps entre deux objets time.Time dans Go ?

Comment puis-je calculer et formater efficacement les différences de temps entre deux objets time.Time dans Go ?

Patricia Arquette
Libérer: 2024-12-09 02:45:11
original
311 Les gens l'ont consulté

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

Calcul des différences de temps avec des objets Time.Time

Dans Golang, les écarts de temps entre deux objets time.Time peuvent être facilement obtenus à l'aide de l'outil Time Fonction .Sub(). Le résultat de cette opération est une valeur time.Duration.

Par défaut, la durée est formatée intelligemment, comme le montre l'exemple suivant :

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)
}
Copier après la connexion

Sortie :

2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:05:41 +0000 UTC
5m41s
Copier après la connexion

Pour des durées inférieures à un jour, vous pouvez utiliser le constructeur d'objet Time.Time et la méthode Time.Format() pour obtenir le HH:mm:ss format :

out := time.Time{}.Add(diff)
fmt.Println(out.Format("15:04:05"))
Copier après la connexion

Sortie :

00:05:41
Copier après la connexion

Notez que cette méthode ne s'applique qu'aux décalages horaires dans les 24 heures. Pour des différences plus importantes, vous devrez peut-être envisager des solutions plus complexes, comme indiqué dans ce fil de discussion connexe :

[golang time.Since() avec mois et années](https://github.com/golang/go /issues/17461)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal