Метод time.Time.UTC
Метод Time.UTC возвращает копию времени,
преобразованную к часовому поясу UTC.
В первый параметр (приемник) мы передаем
значение типа time.Time, которое хотим
преобразовать. Метод возвращает новое значение
time.Time с тем же моментом времени,
но в часовом поясе UTC. Если исходное время
уже находится в UTC, метод возвращает его копию
без изменений.
Синтаксис
t.UTC()
Пример
Давайте преобразуем текущее локальное время в UTC:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println("Local time:", now)
fmt.Println("Location:", now.Location())
utcTime := now.UTC()
fmt.Println("UTC time:", utcTime)
fmt.Println("Location:", utcTime.Location())
}
Результат выполнения кода:
"Local time: 2026-09-04 15:30:45.123456789 +0300 MSK"
"Location: Local"
"UTC time: 2026-09-04 12:30:45.123456789 +0000 UTC"
"Location: UTC"
Пример
Давайте создадим время в определенном часовом поясе и преобразуем его в UTC:
package main
import (
"fmt"
"time"
)
func main() {
loc, _ := time.LoadLocation("America/New_York")
t := time.Date(2026, time.September, 4, 15, 30, 0, 0, loc)
fmt.Println("Original time:", t)
fmt.Println("Location:", t.Location())
utcTime := t.UTC()
fmt.Println("UTC time:", utcTime)
fmt.Println("Location:", utcTime.Location())
}
Результат выполнения кода:
"Original time: 2026-09-04 15:30:00 -0400 EDT"
"Location: America/New_York"
"UTC time: 2026-09-04 19:30:00 +0000 UTC"
"Location: UTC"
Пример
Давайте проверим, что метод возвращает ту же самую точку во времени:
package main
import (
"fmt"
"time"
)
func main() {
loc, _ := time.LoadLocation("Asia/Tokyo")
t := time.Date(2026, time.September, 4, 10, 0, 0, 0, loc)
utcTime := t.UTC()
fmt.Println("Original time:", t)
fmt.Println("UTC time:", utcTime)
fmt.Println("Are they equal:", t.Equal(utcTime))
unixTimestamp := t.Unix()
utcTimestamp := utcTime.Unix()
fmt.Println("Timestamps equal:", unixTimestamp == utcTimestamp)
}
Результат выполнения кода:
"Original time: 2026-09-04 10:00:00 +0900 JST"
"UTC time: 2026-09-04 01:00:00 +0000 UTC"
"Are they equal: true"
"Timestamps equal: true"
Смотрите также
-
метод
Time.Local,
который преобразует время к локальному часовому поясу -
метод
Time.In,
который преобразует время к указанному часовому поясу -
константу
time.UTC,
которая представляет глобальный часовой пояс UTC -
метод
Time.Location,
который возвращает часовой пояс времени