Techioz Blog

タイムゾーンのフルネームを tz の略語に変換するにはどうすればよいですか?

概要

Rails 3.x アプリでは、完全なタイムゾーン名ではなく、タイムゾーンの略語 (EST、PST、CST など) を表示する必要があります。私はこの問題に対処しているように見えるが、あまりに冗長な議論を数多く見てきました。

それらを適切にマッピングするために使用できる、これを処理する宝石または非常に簡潔な方法はありますか?

解決策

現在のタイムゾーンの場合:

Time.zone.now.strftime('%Z')

またはタイムゾーンのリストについては、次のようにします。

ActiveSupport::TimeZone.us_zones.map do |zone|
  Time.now.in_time_zone(zone).strftime('%Z')
end

それは機能しますが、もっと良い方法があるはずだと思われます…