В ответ на комментарий Томаса Брауна, поскольку ответ lnmx работает только для вычитания даты, вот модификация его кода, которая работает для вычитания времени из типа time.Time.
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println("now:", now)
count := 10
then := now.Add(time.Duration(-count) * time.Minute)
// if we had fix number of units to subtract, we can use following line instead fo above 2 lines. It does type convertion automatically.
// then := now.Add(-10 * time.Minute)
fmt.Println("10 minutes ago:", then)
}
Производит:
now: 2009-11-10 23:00:00 +0000 UTC
10 minutes ago: 2009-11-10 22:50:00 +0000 UTC
Не говоря уже о том, что вы также можете использовать time.Hour
или time.Second
вместо time.Minute
в соответствии с вашими потребностями.
Игровая площадка: https://play.golang.org/p/DzzH4SA3izp