2011-12-17 5 views
1

現在のTimeオブジェクトが1日以上経過しているかどうかを確認する方法を教えてください。私は24時間以上古い場合にのみデータベースに保存したい。もしそれが容易ならば、私は現在の時間に関係なく "昨日"何でも受け入れます。翌日に切り替わるとすぐに「昨日」も変わるので、MOSTでは47時間59分になります。Timeオブジェクトで1日以上経過したことを確認するにはどうすればよいですか? (Ruby)

私が持っている時間の形式は次のとおりです。2011年12月16日17時44分01秒-0800

答えて

1
class Time 
    def older_than_day?; Time.new - 86400 > self end 
end 

p Time.new("2000-1-1 00:00:00 -0800").older_than_day? 
# => true 
p Time.new.older_than_day? 
# => false 
+0

あなたは素晴らしいです – Tallboy

0

少しより読み:あなたはかもしれないレールを(使用している場合、 )あなたは、データベースを言及するので、あなたは...このように実際に

class Time 
    def older_than_day?; (Time.new - 1.day) > self end 
end 

それを書くためにdayメソッドを使用することができ、dayを使用すると、私は午前を定義するために気にしない可能性があることを読んで、それはとても簡単になります民法。私はちょうどこのようなコードを書くかもしれません...

if myTime > (Time.now - 1.day) 
    doSomething 
else 
    doSomethingElse 
end 
関連する問題