Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

TZInfoでカントリーコードを扱う

前述のTZInfoは各種タイムゾーン情報を格納しています。
なので、カントリーコードもメソッドで一気に出力させることができます。

ap TZInfo::Country.all_codes, limit:true

とやれば、

[
    [  0] "AD",
    [  1] "AE",
    [  2] "AF",
    [  3] .. [245],
    [246] "ZA",
    [247] "ZM",
    [248] "ZW"
]

とでてきます。

また、カントリーコードから現地時刻を取得することも可能です。
アメリカのように国土が広大だと対応し辛いようですが……

tz = TZInfo::Country.get('ZA')
TZInfo::Timezone.get(tz.zone_identifiers[0]).now

とやれば

#>> 2015-04-02 16:53:33 UTC