このエントリーをはてなブックマークに追加

2016年12月23日金曜日

はじめの一歩 -Rails 時間・タイムゾーン編- おまけ

どうも、はじめです。

前回は月や年の最初や最後の取得をやってみました。
「はじめの一歩 -Rails 時間・タイムゾーン編- その5」
今回はapplication.rbでのタイムゾーンの設定方法を紹介したいと思います。

はじめに

application.rbでタイムゾーンを指定をしなかった場合はデフォルトでUTCが指定されます。
任意のタイムゾーンを設定するには以下のように指定をします。
# config/application.rb
config.time_zone = 'Tokyo'
ここで指定している’Tokyo’という文字列ですが何でも良いという訳ではありません。 RailsのActiveSupportにて予め用意されているものの中から任意の文字列を指定する事により、
該当するタイムゾーンを指定してくれるようになっています。

それではActiveSupportが用意している文字列を幾つか紹介したいと思います。

Asia/Tokyo

このタイムゾーンを指定したい場合は以下のように指定をします。
config.time_zone = 'Tokyo'
他にも’Osaka’や’Sapporo'と指定しても同様に”Asia/Tokyo”のタイムゾーンが指定されます。

America/New_York

アメリカのニューヨークのタイムゾーンを指定したい場合はこのように指定をします。
config.time_zone = 'Eastern Time (US & Canada)'

Asia/Seoul

こちらは韓国のソウルのタイムゾーンです。
config.time_zone = 'Seoul'

Asia/Taipei

こちらは中国の台北のタイムゾーンです。
config.time_zone = 'Taipei'

ちなみに、
Tokyoのように同じタイムゾーンを示す文字列が複数存在するものは他にもあります。

Pacific/Midway

こちらはアメリカのミッドウェイ島というところで、国際日付変更線も表しています。
以下の文字列で指定が可能です。
config.time_zone = 'International Date Line West'
config.time_zone = 'Midway Island'

America/Mexico_City

こちらはアメリカのメキシコのタイムゾーンです。
以下の文字列で指定が可能です。
config.time_zone = 'Guadalajara'
config.time_zone = 'Mexico City'

Europe/London

こちらはロンドンのタイムゾーンで、以下の文字列での指定が可能です。
config.time_zone = 'Edinburgh'
config.time_zone = 'London'

他にも幾つかあるので興味のある方は調べてみて下さい。

最後に、

ここで紹介した'Asia/Taipei’や'America/New_York’は
「はじめの一歩 -Rails 時間・タイムゾーン編- その4」
で紹介した、任意のタイムゾーンに変換して表示をする
time.in_time_zone('America/Chicago')
でも使用することができます。

次回

次は「時間・タイムゾーン編」のまとめをやりたいと思います。

0 件のコメント:

コメントを投稿