Метод time.Time.In

Метод In преобразует значение времени time.Time к указанному часовому поясу. Он принимает один параметр - указатель на объект time.Location, представляющий целевой часовой пояс, и возвращает новое значение time.Time, соответствующее тому же моменту времени, но представленное в указанном часовом поясе.

Синтаксис

got.In(loc)

Пример

Давайте преобразуем текущее время в часовой пояс "America/New_York":

gopackage 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)
}

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

go"2026-09-04 10:30:45 +0100 EDT"

Пример

Давайте преобразуем время UTC в часовой пояс "Europe/London":

gopackage 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)
}

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

go"2026-09-04 13:00:00 +0100 BST"

Пример

Давайте преобразуем время в фиксированный часовой пояс с помощью FixedZone:

gopackage 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)
}

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

go"2026-09-04 15:00:00 +0300 MSK"

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

  • метод time.Time.UTC,
    который преобразует время в часовой пояс UTC
  • метод time.Time.Local,
    который преобразует время в локальный часовой пояс
  • функцию time.LoadLocation,
    которая загружает часовой пояс по имени
  • функцию time.FixedZone,
    которая создает фиксированный часовой пояс