저는 Ruby 프로그램을 작성하고 있습니다. America/New_York
그런 것을 얻을 수 있는 방법이 필요 ActiveSupport::TimeZone
하지만 require "tzinfo"
현재 시간대를 얻을 수 없습니다. ( Time.now.zone
비슷한 것을 얻을 수 있지만 EST
예를 들어 tz 데이터베이스 형식이 필요합니다 America/New_York
.) 이를 수행하는 쉬운 방법은 사용자가 설정하도록 하는 것이지만 ... $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.
답변1
glibc에서 기본 시간대는 /etc/localtime
tz 데이터베이스에 있는 파일에 대한 심볼릭 링크일 수 있지만(이 경우 간단히 링크를 읽을 수 있음) 보장할 수는 없습니다. 하드 링크일 수도 있고 심지어 복사본일 수도 있습니다. . 이 경우 파일을 읽고 tz 데이터 디렉터리에 있는 모든 파일과 비교해야 합니다.
그 가치를 얻는 것이 어떤 목적에 도움이 될 것이라고 생각하는지 잘 모르겠습니다 America/New_York
.