

rubyでDateTimeオブジェクトが24時間以内かどうかを判定するにはどうしたらよいのでしょうか。

`time = Time.zone.now`をして、しばらくしてから`time`を見に行って、24時間以内かどうかを判定したいのですが。


CC BY-SA 3.0
2016-02-26T07:13:55.620
22565
2016-09-30T03:45:11.170
2016-02-26T09:23:55.923
5044
9149
question
ruby-on-rails ruby
rubyでTimeオブジェクトが24時間以内かどうかを判定するには


Railsの環境のようなので `1.day`を使うと簡単にかけます。

[code]

    (Time.zone.now - time) < 1.day
    
[/code]

で現在と指定した時間が1日(=24時間)以内であれば`true`になります。  
もちろん`1.day`の代わりに`24.hours`でも構いません。


CC BY-SA 3.0
2016-02-28T11:00:51.493
22635
2016-02-28T11:00:51.493
3271
22565
answer

[code]

    time = Time.zone.now
    time > 1.day.ago
    
[/code]

Rails環境であれば、このように書くこともできます。  
口語的にも読みやすくなるかと思います。

<http://railsdoc.com/references/ago>


CC BY-SA 3.0
2016-04-12T06:05:40.593
23940
2016-04-12T06:05:40.593
12694
22565
answer