Работать с часовыми поясами довольно сложно. Хороший способ справиться с разницей между поясами — выделить в системе одну зону в качестве референтной и в случае необходимости конвертировать другие значения в данный часовой пояс. В данной инструкции будет показано, как конвертиртировать значение одного часового пояса в другой.

Как конвертировать один часовой пояс в другой в Golang?

1. Создайте файл timezones.go со следующим содержимым:

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК ЧАТ в Telegram

2. Запустите код через go run timezones.go;
3. Посмотрите на результат в терминале:

Тип Time предоставляет метод In, что использует указатель для time.Location. Возвращаемый Time является конвертированным оригинальным значением данного часового пояса. Обратите внимание, что экземпляр Time считается неизменяемым, поэтому методы в результате изменения создают новый экземпляр Time.

На заметку: Пакет time обращается к базе данных IANA Time Zone как к источнику локаций. Функция LoadLocation ищет директорию или файл ZIP из переменной среды ZONEINFO. Если ничего не найдено, обыскиваются известные локации инсталяции на системах UNIX. В конечном итоге идет поиск по $GOROOT/lib/time/zoneinfo.zip.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *