Проверка tzdata и настройки часового пояса в связи с переходом Казахстана на UTC+5.
Проверяет, обновлен ли пакет tzdata в операционной системе и (опционально) в PHP для перехода на UTC+5 в марте 2024.
Отдельная проверка таймзоны для PHP может потребоваться потому, что он использует встроенную базу таймзон timezonedb, не зависящую от операционной системы.
Локальный запуск, если у вас установлен go:
go run main.go
- если также требуется проверка PHP:
go run main.go --php-path /opt/homebrew/bin/php
Пример вывода (на моём компьютере tzdata ещё не обновлена):
Текущее время в дефолтной таймзоне: 2024-02-08T11:03:55+06:00
Текущее смещение: +06 (21600 секунд), действует от 2004-10-31T02:00:00+06:00 до 0001-01-01T00:00:00Z
Смещение в марте 2024: +06 (21600 секунд), действует от 2004-10-31T02:00:00+06:00 до 0001-01-01T00:00:00Z
👎 Смещение в марте не равно ожидаемому. Вероятно, пакет tzdata не обновлён, либо не установлен, либо не настроена текущая таймзона.
Текущее время в таймзоне Asia/Almaty: 2024-02-08T11:03:55+06:00
👎 Смещение в марте на PHP /opt/homebrew/bin/php не равно ожидаемому: получили 18000, ожидалось 21600 секунд. Нужно обновить расширение timezonedb: https://serverpilot.io/docs/how-to-update-the-php-timezonedb-version/
Вывод
Если вы видите 👍, то скорее всего не нужно беспокоиться - время в вашем окружении будет автоматически переведено на UTC+5 1 марта.
Если вы видите 👎, то скорее всего вам нужно обновить tzdata и\или настроить таймзону (export TZ=Asia/Almaty
).
Пример запуска в последней версии alpine, где таймзона Asia/Almaty уже обновлена
docker run --rm alpine:latest /bin/sh -c 'apk add --no-cache tzdata && export TZ=Asia/Almaty && wget https://github.com/antonsergeyev/kz-timezone-test/raw/main/bin/tz-linux && chmod +x tz-linux && ./tz-linux'
Текущее время в дефолтной таймзоне: 2024-02-06T17:42:12+06:00
Текущий смещение: +06 (21600 секунд), действует от 2004-10-31T02:00:00+06:00 до 2024-02-29T23:00:00+05:00
Смещение в марте 2024: +05 (18000 секунд), действует от 2024-02-29T23:00:00+05:00 до 0001-01-01T00:00:00Z
👍 Смещение в марте равен ожидаемому. Вероятно, пакет tzdata уже обновлён.
Текущее время в таймзоне Asia/Almaty: 2024-02-06T17:42:12+06:00
Доступные бинарники
Для удобства запуска из докер-образов, в репозиторий уже добавлены бинарники для linux, mac, windows:
Работоспособность проверена только на linux и mac.