Soustraction de time.Duration à time.Time en Go : comment faire correctement ?
Bonjour, collègues ! Je viens de commencer à apprendre Go et j'ai rencontré un problème en travaillant avec les dates et l'heure. Je dois soustraire du moment actuel, par exemple, 24 heures, pour obtenir l'heure "hier à la même heure". J'écris quelque chose comme :
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
yesterday := now - 24 * time.Hour // Erreur !
fmt.Println(yesterday)
}
```
Mais le compilateur donne une erreur : `invalid operation: operator - not defined on time.Time`. Je comprends que `time.Time` est une structure, pas un nombre, et on ne peut pas directement soustraire. J'ai essayé d'utiliser `time.Duration`, mais je me suis embrouillé. La documentation dit que `time.Time` peut être additionné avec `time.Duration`, mais comment soustraire correctement ? J'ai besoin d'obtenir une valeur précise pour la comparer ensuite avec d'autres dates. Dites-moi comment soustraire correctement un intervalle de temps en Go ? Merci d'avance !
<<>>
Utilisez la méthode
Utilisez la méthode Add() avec une valeur négative
En Go, pour soustraire