Метод time.Time.In
Метод In преобразует значение времени time.Time
к указанному часовому поясу. Он принимает один параметр -
указатель на объект time.Location, представляющий
целевой часовой пояс, и возвращает новое значение
time.Time, соответствующее тому же моменту времени,
но представленное в указанном часовом поясе.
Синтаксис
t.In(loc)
Пример
Давайте преобразуем текущее время в часовой пояс
"America/New_York":
package main
import (
"fmt"
"time"
)
func main() {
loc, err := time.LoadLocation("America/New_York")
if err != nil {
fmt.Println("Error loading location:", err)
return
}
now := time.Now()
res := now.In(loc)
fmt.Println(res)
}
Результат выполнения кода:
"2026-09-04 10:30:45 +0100 EDT"
Пример
Давайте преобразуем время UTC в часовой пояс
"Europe/London":
package main
import (
"fmt"
"time"
)
func main() {
loc, err := time.LoadLocation("Europe/London")
if err != nil {
fmt.Println("Error loading location:", err)
return
}
t := time.Date(2026, 9, 4, 12, 0, 0, 0, time.UTC)
res := t.In(loc)
fmt.Println(res)
}
Результат выполнения кода:
"2026-09-04 13:00:00 +0100 BST"
Пример
Давайте преобразуем время в фиксированный часовой пояс
с помощью FixedZone:
package main
import (
"fmt"
"time"
)
func main() {
loc := time.FixedZone("MSK", 3*60*60)
t := time.Date(2026, 9, 4, 12, 0, 0, 0, time.UTC)
res := t.In(loc)
fmt.Println(res)
}
Результат выполнения кода:
"2026-09-04 15:00:00 +0300 MSK"
Смотрите также
-
метод
time.Time.UTC,
который преобразует время в часовой пояс UTC -
метод
time.Time.Local,
который преобразует время в локальный часовой пояс -
функцию
time.LoadLocation,
которая загружает часовой пояс по имени -
функцию
time.FixedZone,
которая создает фиксированный часовой пояс