Maison >développement back-end >Golang >Comment puis-je calculer et formater la différence entre deux objets Go « time.Time » ?

Comment puis-je calculer et formater la différence entre deux objets Go « time.Time » ?

DDD
DDDoriginal
2024-12-20 20:07:10614parcourir

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

Calcul des différences de temps avec le temps. Objets temporels

Dans la programmation avec Go, la représentation de points dans le temps est cruciale. Le type time.Time fournit des fonctionnalités permettant de manipuler les valeurs liées au temps. Une tâche courante consiste à calculer la différence entre deux points temporels.

Pour obtenir la différence horaire entre deux objets time.Time, vous pouvez utiliser la méthode time.Sub(). Le résultat est représenté sous la forme d'une valeur time.Duration.

time.Duration se formate de manière à s'adapter au décalage horaire. Par exemple :

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)
}

Sortie :

2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:05:41 +0000 UTC
5m41s

Si vous désirez l'heure au format HH:mm:ss, vous pouvez créer une valeur time.Time et utiliser son heure. Méthode Format() :

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

Sortie :

00:05:41

Cette approche convient aux décalages horaires sous 24 heures. Cependant, si le temps s'étend sur plusieurs jours ou plus, envisagez d'utiliser une solution qui s'adapte à des décalages horaires plus importants, comme la fonction fournie dans la question suivante :

  • golang time.Since() avec des mois et des années

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!

Déclaration:
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