今回も簡単な記事。頭がタイムゾーン慣れしていないってのと今までJST以外での運用をやったことがなかったのでメモ。結論から言うとin_time_zoneはサマータイムも考慮してくれるので特に難しく考えなくてOK。
日本にもサマータイムがあった時期があったようだ
かつては日本にもサマータイムがあったようなので日本で実験する。railsコンソールを叩いて今日の日本の時刻を調べる。
irb(main):039:0> Time.local(2015,5,27).in_time_zone(‘Asia/Tokyo’)
=> Wed, 27 May 2015 09:00:00 JST +09:00
日本は標準時+9時間なので想定通りの結果が返る。ここで日本がサマータイムを導入していた1950年にタイムスリップしてみる。
irb(main):038:0> Time.local(1950,5,27).in_time_zone(‘Asia/Tokyo’)
=> Sat, 27 May 1950 10:00:00 JDT +10:00
するとサマータイムを考慮した結果が返ってくる。ちなみにdst?でサマータイムかどうかを調べられる。
irb(main):042:0> Time.local(1950,5,27).in_time_zone(‘Asia/Tokyo’).dst?
=> true
うむ。
各国で制度が変わってサマータイムの導入や廃止が決まったりしたら、zoneinfoやらTZInfoなどが追って更新されるんだろうね、きっと。
そうそう。余談だが「日本のプログラマは文字コードにはうるさいがタイムゾーンをガン無視する」という外国人のぼやきを聞いたことがある。ウェブサービスやネイティブアプリの開発運用に関わっていると二言めには「海外展開」という単語が出てくる昨今だと思うので、この世にはタイムゾーンとサマータイムという概念があることは意識しておいた方が良い。
おわり
Information
welcome!Top Posts
- - 開発支援系のサービスが充実しすぎて転職か廃業を考えた [33,311 views]
- - MySQL ibdata1が肥大化する理由(記事の意訳) [12,544 views]
- - vm.swappiness=0は重要 [11,080 views]
- - about [10,467 views]
- - serverspec インフラ層のテスト項目を考える [10,246 views]
- - MySQL バイナリログを使ったデータリカバリ [9,772 views]
- - Cassandraメモその1(インストール、データモデル、データ操作について) [7,654 views]
- - Mac OSX開発環境構築メモ、便利なツールとか [7,177 views]
- - chefを捨ててシェルスクリプトにした [6,710 views]
- - knifeクライアントの設定とchefの実行 [6,550 views]
Archives
- 2015年5月 (3)
- 2015年4月 (3)
- 2015年2月 (1)
- 2015年1月 (1)
- 2014年12月 (2)
- 2014年11月 (1)
- 2014年10月 (1)
- 2014年9月 (2)
- 2014年8月 (3)
- 2014年6月 (2)
- 2014年5月 (3)
- 2014年4月 (2)
- 2014年3月 (3)
- 2014年1月 (1)
- 2013年12月 (3)
- 2013年11月 (2)
- 2013年10月 (3)
- 2013年8月 (1)
- 2013年7月 (2)
- 2013年6月 (1)
- 2013年5月 (3)
- 2013年4月 (3)
- 2013年3月 (4)
- 2013年2月 (2)
- 2013年1月 (2)
- 2012年12月 (3)
- 2012年11月 (1)
- 2012年10月 (4)
- 2012年9月 (1)
- 2012年7月 (3)
- 2012年6月 (2)
- 2012年5月 (1)
- 2012年4月 (2)
- 2012年3月 (1)
- 2012年2月 (1)
- 2012年1月 (1)
- 2011年11月 (4)