#author("2017-06-19T13:41:44+09:00","default:wikiwriter","wikiwriter")
#author("2017-06-19T13:43:45+09:00","default:wikiwriter","wikiwriter")
&tag(Rails/日付と時刻);
*目次 [#j1e494e5]
#contents
*関連ページ [#n862fb3a]
*参考情報 [#wa53684f]
-[[RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違い - Qiita:http://qiita.com/jnchito/items/cae89ee43c30f5d6fa2c]]
-[[ついにRoRの日付の闇を払った - Qiita:http://qiita.com/shingo-nakanishi/items/573e76403b5c0faa7a56]]

*基本 [#z97c3fef]
-Railsでは基本TimeWithZoneを使う。
-Rubyの基本ライブラリであるTimeも拡張されていて、例えばTime.currentや、Time.zone.nowは、TimeWithZoneクラスのインスタンスを返す。Time.nowはTimeクラスのインスタンスのまま
#pre{{
irb(main):003:0> p Time.now.class
Time
=> Time
irb(main):004:0> p Time.current.class
ActiveSupport::TimeWithZone
=> ActiveSupport::TimeWithZone
}}
-TimeWithZoneはrailsのタイムゾーン設定を使用する。
-DateTimeクラスは特に理由がなければつかわない。

*差分 [#hcb8a34d]
-Timeの差分はFloatを返す
#pre{{
irb(main):005:0> t1 = Time.local(2017, 5, 1)
=> 2017-05-01 00:00:00 +0900
irb(main):006:0> t2 = Time.local(2017, 5, 2)
=> 2017-05-02 00:00:00 +0900
irb(main):007:0> diff = t2 - t1
=> 86400.0
irb(main):008:0> p diff.class
Float
=> Float
}}

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS