Как получить «TZ» с установленным «$ TZ»?

Я пишу программу Ruby. Мне нужен способ получить что-то вроде America/New_York как ActiveSupport::TimeZone и require "tzinfo" не смог получить мой текущий часовой пояс. (Обратите внимание, что Time.now.zone может получить такие вещи, как EST но мне нужен формат базы данных tz, например America/New_York .) Хотя этот простой способ сделать это – просто установить пользователем $TZ , TZ='America/New_York'; export TZ TZ='America/New_York'; export TZ или tzselect . Я ищу способ сделать это без того, чтобы пользователь установил TZ . Есть ли какой-нибудь системный файл, который я могу загрузить, или сетевое местоположение, которое я могу запросить?

Мне нужен часовой пояс для таких вещей.

 require "active_support/core_ext/time/zones" Time.zone = ENV['TZ'] p Time.zone.now # Returns current time in the local time zone using ActiveSupport. 

One Solution collect form web for “Как получить «TZ» с установленным «$ TZ»?”

В glibc часовой пояс по умолчанию хранится в /etc/localtime . Это может быть символическая ссылка на файл в базе данных tz (в этом случае вы можете просто читать ссылку), но нет гарантии – это может быть жесткая ссылка или даже копия. В этом случае вам нужно будет прочитать файл, а затем сравнить его со всеми файлами в каталоге данных tz.

Я не уверен, какой целью вы считаете, что America/New_York значение America/New_York .

  • «Ruby: Command not found» на FreeBSD, несмотря на то, что он установлен
  • Как создать CronJob для запуска команд при перезагрузке?
  • Crontab + Ruby on Rails: / usr / bin / env: ruby: нет такого файла или каталога
  • Как перебирать файлы с помощью awk, bash или ruby?
  • Ошибка Proxychains DNS, но не с помощью ping
  • Установка ruby ​​2.1 на Arch через RVM
  • Ruby и Git отказываются обновлять. (Mac)
  • Как запустить Unicorn с помощью systemd / systemctl?
  • Как подключиться к bash как другому пользователю
  • Как запустить скрипт без root для sniff network (libpcap)?
  • С помощью gnu найдите, в чем разница между -print0 и -printf «% p \ 0»
  • Linux и Unix - лучшая ОС в мире.