У відповідь на коментар Томаса Брауна, оскільки відповідь 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