Функция time.LoadLocation
Функция time.LoadLocation загружает объект Location,
соответствующий указанному имени временной зоны. Она принимает один
параметр — строку с названием зоны (например, "America/New_York",
"Europe/London", "Asia/Tokyo") и возвращает указатель на
Location и ошибку, если зона не найдена.
Эта функция использует системную базу данных временных зон
(обычно файлы в директории /usr/share/zoneinfo в Unix-подобных системах).
Синтаксис
time.LoadLocation(name)
Пример
Давайте загрузим временную зону "America/New_York" и выведем её название:
package main
import (
"fmt"
"time"
)
func main() {
loc, err := time.LoadLocation("America/New_York")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(loc.String())
}
Результат выполнения кода:
"America/New_York"
Пример
Загрузим зону "Europe/London" и используем её для получения текущего времени в этой локации:
package 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"))
}
Результат выполнения кода (время будет текущим):
"2026-09-04 14:30:45"
Пример
Попробуем загрузить несуществующую зону и обработаем ошибку:
package main
import (
"fmt"
"time"
)
func main() {
loc, err := time.LoadLocation("Invalid/Zone")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(loc)
}
Результат выполнения кода:
"unknown time zone Invalid/Zone"
Смотрите также
-
функцию
time.ParseInLocation,
которая парсит время в указанной временной зоне -
функцию
time.FixedZone,
которая создаёт локацию с фиксированным смещением -
функцию
time.Time.In,
которая преобразует время в указанную локацию -
функцию
time.Time.Location,
которая возвращает локацию времени