Maison >développement back-end >Golang >Comment calculer et formater les différences horaires dans Go en utilisant time.Time ?
Calcul de la différence de temps dans Go avec time.Time
Dans Go, obtenir la différence entre deux objets time.Time est simple en utilisant le Sub () méthode. Bien que time.Sub() renvoie une valeur time.Duration, il est facile d'interpréter cette valeur en termes d'heures, de minutes et de secondes.
Considérez l'extrait de code suivant :
import ( "fmt" "time" ) func main() { // Create two time.Time objects t1 := time.Date(2016, 9, 9, 19, 9, 16, 0, time.UTC) t2 := time.Date(2016, 9, 9, 19, 9, 16, 0, time.UTC) // Use the Sub() method to get the time difference diff := t2.Sub(t1) // By default, a time.Duration value formats itself intelligently fmt.Println("Time difference:", diff) }
Sortie :
Time difference: 0s
Dans cet exemple, puisque les deux heures sont identiques, la différence est nulle et formatée comme "0s".
Pour obtenir le décalage horaire dans un format plus spécifique, tel que "HH:mm:ss", nous pouvons construire une valeur time.Time à partir de time.Duration puis utiliser le Format( ).
// Construct a time.Time value from the time difference out := time.Time{}.Add(diff) // Use the time.Time value's Format() method formattedDiff := out.Format("15:04:05") fmt.Println("Formatted time difference:", formattedDiff)
Sortie :
Formatted time difference: 00:00:00
Notez que cette approche ne convient qu'aux décalages horaires dans les 24 heures. Pour des différences horaires importantes s'étendant sur des jours, des mois ou des années, des calculs plus complexes sont nécessaires.
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!