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) }
Sortie :
2009-11-10 23:00:00 +0000 UTC 2009-11-10 23:05:41 +0000 UTC 5m41s
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"))
Sortie :
00:05:41
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!