2016-08-01 12 views
0

Ich bin sehr neu in Ruby und ich verstehe die Antwort auf How can i check whether the current time in between tonight 9pm and 9am(tomorrow) in Ruby on Rails nicht.Wie kann ich überprüfen, ob eine Uhrzeit zwischen 9:00 Uhr und 9:00 Uhr heute in Ruby ist?

Ich habe eine Zeit und ich möchte sehen, ob es zwischen 9 Uhr am Vortag und 9 Uhr heute ist - wie mache ich das?

Ich habe versucht, diese Antwort, aber ich bin mir nicht sicher, ob ich es

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

Die Seite, die Sie Antwort verknüpft Ist deine Frage und du hast uns nicht gesagt, was mit diesen Antworten du nicht verstehst, also bin ich mir nicht sicher, was du von uns erwartest. –

+0

Also habe ich versucht, diese Antwort zu verwenden, und ich bin mir nicht sicher, ob ich es richtig umgewidmet habe – praks5432

Antwort

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- tat bestimmt Dies wird, wenn die aktuelle Zeit in von 21.00 bis 09.00 Uhr ist:

time = Time.now 
time.hour > 20 or time.hour < 9 

zum Beispiel:

time = Time.now 
#=> 2016-08-01 20:23:32 +0000 
time.hour > 20 or time.hour < 9 
#=> false