Как правильно использовать Голд AddDate для расчета даты - PullRequest
0 голосов
/ 01 ноября 2018

Сегодня 2018-11-1, я использую AddDate для расчета 7 дней: startTime: = time.Now (). AddDate (0, 0, -7) .Unix (), но 2018-10-25 все еще существуют. Как правильно рассчитать дату, используя метод AddDate?

1 Ответ

0 голосов
/ 01 ноября 2018

Пакетное время

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.


Примечание: есть два способа считать дни. Для возраста, сегодня вы на один день старше, чем вчера. Для оплаты, вчера и сегодня работают два дня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...