создание скомпилированной базы данных TZ из выражения часового пояса posix

398
Harsh Arya

Я хочу создать скомпилированный файл базы данных TZ из выражения posix.

Есть ли какая-нибудь утилита unix, которая может создать базу данных TZ из выражения posix?

Я проверял команду zic, но мне не удалось найти способ предоставить правила выражения posix в качестве входных данных для zic. Есть ли способ использовать выражение posix с zic? например. EST5EDT, M10.3.0, M2.3.0

Мне нужна скомпилированная база данных, так как я хочу, чтобы часовой пояс был постоянным во всех сеансах, чтобы / etc / localtime можно было связать с скомпилированной базой данных.

Непосредственная установка переменной TZ в выражение posix не поможет, так как она не будет постоянной в течение сеанса, а также после перезагрузки.

0

1 ответ на вопрос

0
Matt Johnson

Нет, это невозможно.

Правила POSIX могут учитывать только текущие правила и могут включать только один парный набор переходов DST.

В базе данных tz есть такие записи, как America/New_York, которые учитывают все правила часового пояса за всю историю конкретного часового пояса.

Реальность часовых поясов очень сложна, включая такие вещи, как:

  • Переход на летнее время два раза в год
  • Переход на летнее время осуществляется четыре раза в год
  • Смещение базы изменяется один раз в конкретный год
  • Многие из этих изменений из года в год, в некоторых случаях разные правила каждый год

Больше в теге часового пояса вики на StackOverflow