РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
783 of 1593 menu

Метод time.Time.Round

Метод Round округляет время до ближайшей указанной длительности. Он возвращает новую временную метку, округленную до кратного значения переданной длительности. Если время находится ровно посередине между двумя значениями, округление происходит в большую сторону. Метод принимает один параметр - длительность d типа time.Duration, на которую нужно округлить время.

Синтаксис

t.Round(d)

Пример

Давайте округлим время до ближайшей секунды:

package main import ( "fmt" "time" ) func main() { t := time.Date(2026, time.September, 4, 15, 30, 45, 500000000, time.UTC) res := t.Round(time.Second) fmt.Println(res) }

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

"2026-09-04 15:30:46 +0000 UTC"

Время было округлено до ближайшей секунды в большую сторону, так как наносекундная часть превышала 500 миллисекунд.

Пример

Давайте округлим время до ближайших 10 минут:

package main import ( "fmt" "time" ) func main() { t := time.Date(2026, time.September, 4, 15, 27, 30, 0, time.UTC) res := t.Round(10 * time.Minute) fmt.Println(res) }

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

"2026-09-04 15:30:00 +0000 UTC"

Время округлилось до 15:30, так как 15:27 ближе к 15:30, чем к 15:20.

Пример

Давайте рассмотрим случай, когда время находится ровно посередине:

package main import ( "fmt" "time" ) func main() { t := time.Date(2026, time.September, 4, 15, 25, 0, 0, time.UTC) res := t.Round(10 * time.Minute) fmt.Println(res) }

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

"2026-09-04 15:30:00 +0000 UTC"

15:25 находится ровно посередине между 15:20 и 15:30. В таком случае округляется в большую сторону.

Пример

Давайте округлим время до ближайшего часа:

package main import ( "fmt" "time" ) func main() { t := time.Date(2026, time.September, 4, 15, 45, 0, 0, time.UTC) res := t.Round(time.Hour) fmt.Println(res) }

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

"2026-09-04 16:00:00 +0000 UTC"

Время 15:45 ближе к 16:00, чем к 15:00, поэтому округление произошло до 16:00.

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

  • метод Time.Truncate,
    который усекает время до указанной длительности
  • метод Time.Add,
    который прибавляет длительность к времени
  • метод Time.Sub,
    который вычисляет разницу между двумя временными метками
  • метод Duration.Round,
    который округляет длительность до ближайшего значения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить