Restar time.Duration de time.Time en Go: ¿cómo hacerlo correctamente?
¡Hola colegas! Acabo de empezar a aprender Go y me encontré con un problema al trabajar con fechas y horas. Necesito restar del momento actual, por ejemplo, 24 horas, para obtener la hora de "ayer a esta misma hora". Escribo algo como:
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
yesterday := now - 24 * time.Hour // ¡Error!
fmt.Println(yesterday)
}
```
Pero el compilador da un error: `invalid operation: operator - not defined on time.Time`. Entiendo que `time.Time` es una estructura, no un número, y no se puede restar directamente. Intenté usar `time.Duration`, pero me confundí. En la documentación dice que `time.Time` se puede sumar con `time.Duration`, pero ¿cómo restar correctamente? Necesito obtener el valor exacto para luego compararlo con otras fechas. Indíquenme cómo restar un intervalo de tiempo en Go correctamente. ¡Gracias de antemano!
<<>>
Use el método
Use el método Add() con un valor negativo
En Go, para restar