Метод time.Time.Add

Метод Add прибавляет указанную длительность time.Duration к моменту времени time.Time. Он возвращает новый момент времени, смещенный на переданную длительность. В качестве параметра метод принимает длительность d типа time.Duration, которая может быть положительной, отрицательной или нулевой.

Синтаксис

got.Add(d)

Пример

Давайте прибавим 24 часа к текущему моменту времени:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  res := now.Add(24 * time.Hour)
  fmt.Println(res)
}

Результат выполнения кода:

go"2026-09-05 12:34:56.789012 +0300 MSK"

Пример

Давайте вычтем 1 час из текущего момента времени, передав отрицательную длительность:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  res := now.Add(-1 * time.Hour)
  fmt.Println(res)
}

Результат выполнения кода:

go"2026-09-04 11:34:56.789012 +0300 MSK"

Пример

Давайте прибавим 30 минут к конкретному моменту времени:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2026, time.September, 4, 12, 0, 0, 0, time.UTC)
  res := t.Add(30 * time.Minute)
  fmt.Println(res)
}

Результат выполнения кода:

go"2026-09-04 12:30:00 +0000 UTC"

Смотрите также

  • метод time.Time.AddDate,
    который прибавляет годы, месяцы и дни
  • метод time.Time.Sub,
    который вычисляет разницу между двумя моментами времени
  • функцию time.ParseDuration,
    которая преобразует строку в длительность
  • метод time.Time.Before,
    который проверяет, предшествует ли момент времени другому