Avatar ·

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 Add() con un valor negativo

En Go, para restar