2016-07-07 11 views
0

私は、TimeZoneIDを取得するためにGoogleのタイムゾーンAPIを使用して、私はローカル時間を取得するためにルビーの宝石TZInfoに渡します。この情報から、どのようにタイムゾーンの短い名前(PST、PDT、ESTなど)を取得できますか?私はstrftime(%Z)を試しましたが、それは 'UTC'を返します。これは、レールアプリのルビーです。タイムゾーンIDを短い時間(pst、pdt、cstなど)

答えて

1

TZInfo::Timezone#strftimeは動作するはず:

require "tzinfo" 

tz = TZInfo::Timezone.get("America/New_York") 
puts tz.strftime("%Z") 

あなたはそれを試してみましたし、それがうまくいかなかった場合、それは神秘的です。

また、あなたはTZInfo::TimezonePeriod#abbreviationを使用することができます。

tz = TZInfo::Timezone.get('America/New_York') 
period = tz.period_for_utc(Time.now.utc) 
puts period.abbreviation 
+0

私がしようとしていた 'tz.now.strftime( "%のZ")' 'UTC' を返していました。あなたは 'tz.strftime( "%Z")のソリューションが働いた! –

関連する問題