2016-08-01 2 views
0

Rubyの新機能ですが、How can i check whether the current time in between tonight 9pm and 9am(tomorrow) in Ruby on Railsの答えが分かりません。Rubyで今日の午前9時と午前9時との間の時間を確認するにはどうすればいいですか?

私は時間があり、それは前日の午前9時から今日の午前9時の間にあるかどうかを知りたいのですが、どうすればいいですか?

私はその答えを使って試してみたが、私は私がした場合、それは現在の時刻が午後9時と午前9時の間にある場合、これが決定されます

updated_at = #some time that I access 

if (0..8).cover? updated_at.hour 
    a = updated_at - 1.day 
else 
    a = updated_at 
end 

start = Time.new updated_at.year, updated_at.month, updated_at.day, 9, 0, 0 
b = a + 1.day 
stop = Time.new b.year, b.month, b.day, 9, 0, 0 

puts (start..stop).cover? updated_at 
+0

あなたは答えにリンクされたページあなたの質問と、あなたが理解していない答えについて何も教えてくれていないので、私たちがここで何をすると思いますか。 –

+0

その答えを使ってみましたが、正しく再使用したかどうかわかりません – praks5432

答えて

0
yesterday_at_nine = Time.parse('9:00') - 1.day 
today_at_nine = Time.parse('9:00') 
now = Time.now 

(yesterday_at_nine..today_at_nine).cover? now 
0

をcorrectly-わからない:

​​ たとえば

time = Time.now 
#=> 2016-08-01 20:23:32 +0000 
time.hour > 20 or time.hour < 9 
#=> false 
関連する問題