Location отображает моменты времени в зону, используемую в этом времени. Как правило, Location представляет собой набор смещений времени, используемых в географической области. Для многих мест смещение времени зависит от того, используется ли летнее время в данный момент времени.
type Location struct {
// содержит отфильтрованные или неэкспортированные поля
}
Local представляет местный часовой пояс системы. В системах Unix Local обращается к переменной окружения TZ, чтобы найти часовой пояс для использования. Отсутствие TZ означает использование системного значения по умолчанию /etc/localtime. TZ="" означает использовать UTC. TZ="foo" означает использовать файл foo в системном каталоге часовых поясов.
var Local *Location = &localLoc
UTC представляет собой всемирное координированное время (UTC, Universal Coordinated Time).
var UTC *Location = &utcLoc
Пример использования Location
package main
import (
"fmt"
"time"
)
func main() {
// В Китае нет летнего времени.
// Китай использует
// фиксированное 8-часовое смещение от UTC.
secondsEastOfUTC := int((8 * time.Hour).Seconds())
beijing := time.FixedZone("Beijing Time",
secondsEastOfUTC)
// Если в системе есть база данных часовых поясов,
// можно загрузить местоположение из нее, например:
// newYork, err := time.LoadLocation("America/New_York")
// Создание времени требует местоположения (location).
// Распространенными местоположениями
// являются time.Local и time.UTC.
timeInUTC := time.Date(2009, 1, 1, 12, 0, 0, 0,
time.UTC)
sameTimeInBeijing := time.Date(2009, 1, 1, 20, 0, 0, 0,
beijing)
// Хотя время по UTC составляет 1200,
// а время по Пекину - 2000,
// Пекин на 8 часов вперед,
// поэтому две даты фактически представляют
// один и тот же момент.
timesAreEqual := timeInUTC.Equal(sameTimeInBeijing)
fmt.Println(timesAreEqual)
// печатает true
}
Читайте также:
- Пакет time в Golang, функции After, Sleep, Tick
- Пакет time в Golang, тип Duration и функции работающие с ним
- Пакет time в Golang, методы типа Duration
Комментариев нет:
Отправить комментарий