🖥

Rails / Ruby | 分かりづらい時刻系フォーマットの見分け方

に公開

Time

実はこれだけが pure ruby 拡張なしの ruby のもの。
シンプルに「タイムゾーン付きの時刻」が「全て数字」で記録されている。

Time.now
# => 2016-08-20 13:04:58 +0900

Date

ruby の拡張。

名前の通り、日付だけが記録されている。日付しか扱わないので、タイムゾーン情報はない。

Date.today
# => Sat, 20 Aug 2016

DateTime

ruby の拡張。

情報としては Time とほぼ同じように思えるが、よりも人間に読みやすいフォーマットになっている。
曜日もダイレクトに記録され、月も数字ではなく文字となっている。

DateTime.now
# => Sat, 20 Aug 2016 13:05:05 +0900

TimeWithZone

Ruby on Rails の独自実装。

DateTime とよく似ているが、タイムゾーン情報に国の違い (JSTとか)も付与されており、どの国のタイムゾーンか判別しやすくなっている。

Time.zone.now
# => Sat, 20 Aug 2016 13:05:08 JST +09:00

環境

  • ruby 2.3.0
  • Rails 4.2.6

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2016-08-20

Discussion