Пакетное время
import "time"
func (Время) AddDate
func (t Time) AddDate(years int, months int, days int) Time
AddDate возвращает время, соответствующее добавлению заданного числа
годы, месяцы и дни до т. Например, AddDate (-1, 2, 3) применяется
до 1 января 2011 года возвращается 4 марта 2010 года.
AddDate нормализует свой результат так же, как Date, поэтому для
Например, добавление одного месяца к 31 октября приводит к 1 декабря
нормализованная форма на 31 ноября.
startTime := time.Now().AddDate(0, 0, -7)
рассчитывает время минус 7 (-7) дней или 7 дней назад.
Например,
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now().Round(0))
startTime := time.Now().AddDate(0, 0, -7)
fmt.Println(startTime)
}
Вывод (сейчас в США это 2018-10-31 21:30:40 ПО ВОСТОЧНОМУ ВРЕМЕНИ):
2018-10-31 21:30:40.977401051 -0400 EDT
2018-10-24 21:30:40.977510166 -0400 EDT
В вашем часовом поясе сейчас 2018-11-01, поэтому минус 7 (-7) дней или 7 дней назад - 2018-10-25.
Примечание: есть два способа считать дни. Для возраста, сегодня вы на один день старше, чем вчера. Для оплаты, вчера и сегодня работают два дня.