Intereting Posts
Является ли историческое поведение команды Unix V5 tr дополнением set2 отличным от того, что мы считаем сегодня «классическим» поведением System V (1983-1988)? Как запустить программу setuid на Solaris 10? Нет действительных источников судопроизводства Что такое минимальная частота процессора в МГц в выходе lscpu? «Find» не перечисляет все файлы в определенных каталогах Использовать переменные в этой строке что такое zsh-эквивалент экспорта bash -f Как вы можете запланировать загрузку компьютера в определенное время? переименование всех файлов во всех подкаталогах Как получить tty, в котором работает bash? почему lsb_release выглядит медленнее, чем программа, предназначенная для печати нескольких байтов? Синхронизация файлов NFS на жестком диске Еще одна проблема с установкой Asterisk на kali linux Keychain SSH Key Manager предотвращает регистрацию SFTP на CentOS Новый Debian 8, без звука

Как получить «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. 

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

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