Функция time.LoadLocation

Функция time.LoadLocation загружает объект Location, соответствующий указанному имени временной зоны. Она принимает один параметр — строку с названием зоны (например, "America/New_York", "Europe/London", "Asia/Tokyo") и возвращает указатель на Location и ошибку, если зона не найдена. Эта функция использует системную базу данных временных зон (обычно файлы в директории /usr/share/zoneinfo в Unix-подобных системах).

Синтаксис

gotime.LoadLocation(name)

Пример

Давайте загрузим временную зону "America/New_York" и выведем её название:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  loc, err := time.LoadLocation("America/New_York")
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(loc.String())
}

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

go"America/New_York"

Пример

Загрузим зону "Europe/London" и используем её для получения текущего времени в этой локации:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  loc, err := time.LoadLocation("Europe/London")
  if err != nil {
    fmt.Println(err)
    return
  }
  now := time.Now().In(loc)
  fmt.Println(now.Format("2006-01-02 15:04:05"))
}

Результат выполнения кода (время будет текущим):

go"2026-09-04 14:30:45"

Пример

Попробуем загрузить несуществующую зону и обработаем ошибку:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  loc, err := time.LoadLocation("Invalid/Zone")
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(loc)
}

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

go"unknown time zone Invalid/Zone"

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

  • функцию time.ParseInLocation,
    которая парсит время в указанной временной зоне
  • функцию time.FixedZone,
    которая создаёт локацию с фиксированным смещением
  • функцию time.Time.In,
    которая преобразует время в указанную локацию
  • функцию time.Time.Location,
    которая возвращает локацию времени