Функция time.FixedZone
Функция time.FixedZone создает объект time.Location,
представляющий часовой пояс с фиксированным смещением от UTC.
В первый параметр передается имя часового пояса (например, "MSK" или "EST"),
во второй параметр передается смещение в секундах от UTC.
Положительное значение смещения соответствует восточному полушарию,
отрицательное - западному.
Синтаксис
time.FixedZone(name, offset)
Пример
Создадим часовой пояс для Москвы (MSK) со смещением +3 часа от UTC:
package main
import (
"fmt"
"time"
)
func main() {
loc := time.FixedZone("MSK", 3*60*60)
now := time.Now().In(loc)
fmt.Println(now)
}
Результат выполнения кода:
"2026-09-04 15:30:45 +0300 MSK"
Пример
Используем созданный часовой пояс для форматирования времени в определенном стиле:
package main
import (
"fmt"
"time"
)
func main() {
loc := time.FixedZone("EST", -5*60*60)
t := time.Date(2026, time.September, 4, 12, 0, 0, 0, loc)
fmt.Println(t.Format(time.RFC1123))
}
Результат выполнения кода:
"Fri, 04 Sep 2026 12:00:00 EST"
Пример
Сравним время в разных фиксированных часовых поясах:
package main
import (
"fmt"
"time"
)
func main() {
msk := time.FixedZone("MSK", 3*60*60)
ny := time.FixedZone("NY", -4*60*60)
utc := time.Now().UTC()
t1 := utc.In(msk)
t2 := utc.In(ny)
fmt.Println("MSK:", t1.Format("15:04"))
fmt.Println("NY:", t2.Format("15:04"))
}
Результат выполнения кода:
"MSK: 18:30"
"NY: 11:30"
Смотрите также
-
функцию
time.LoadLocation,
которая загружает часовой пояс из системной базы данных -
функцию
time.Time.In,
которая преобразует время в указанный часовой пояс -
функцию
time.Time.UTC,
которая преобразует время в UTC -
функцию
time.Time.Local,
которая преобразует время в локальный часовой пояс