Subtraktion von time.Duration von time.Time in Go: Wie macht man es richtig?
Hallo Kollegen! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem bei der Arbeit mit Datum und Zeit gestoßen. Ich muss vom aktuellen Zeitpunkt zum Beispiel 24 Stunden abziehen, um die Zeit "gestern zur gleichen Zeit" zu erhalten. Ich schreibe so etwas wie:
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
yesterday := now - 24 * time.Hour // Fehler!
fmt.Println(yesterday)
}
```
Aber der Compiler gibt einen Fehler aus: `invalid operation: operator - not defined on time.Time`. Ich verstehe, dass `time.Time` eine Struktur und keine Zahl ist, und man kann nicht direkt davon subtrahieren. Ich habe versucht, `time.Duration` zu verwenden, bin aber verwirrt. In der Dokumentation steht, dass `time.Time` mit `time.Duration` addiert werden kann, aber wie subtrahiert man richtig? Ich brauche einen genauen Wert, um ihn später mit anderen zu vergleichen.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen