Si on me donne un délai spécifique dans Par exemple: P>
Si l'heure actuelle est Si l'heure actuelle est HH: mm code> format comme: 22:00 code>, comment puis-je obtenir le prochain horodatage lorsque je peux planifier cet événement. < / p>
22e avril 23:30 Code>, il devrait donner comme 23 au 23 avril 22:00 code> (le format UTC est ok, date écrite uniquement pour référence) < / p>
22e avril 18:00 Code> Il devrait donner comme 22 avril 22:00 code> p> p>
3 Réponses :
require 'time'
â today_hour_x = DateTime.parse("22:00")
â today_hour_x + (today_hour_x - DateTime.now > 0 ? 0 : 1)
#â #<DateTime: 2019-04-22T22:00:00+00:00 ...>
â today_hour_x = DateTime.parse("10:00")
â today_hour_x + (today_hour_x - DateTime.now > 0 ? 0 : 1)
#â #<DateTime: 2019-04-23T10:00:00+00:00 ...>
Vous pouvez le codentif dur 22, mais comme une idée d'une approche plus flexible: mon heure locale est maintenant le 22 avril 16:16. Donc, par exemple: p> dans les rails, vous pouvez également utiliser date.tomorrow code>, temps.now + 1.day code> et d'autres choses agréables p> p>
require 'date'
def event_time(time_str)
t = DateTime.strptime(time_str, "%H:%M").to_time
t >= Time.now ? t : t + 24*60*60
end
Time.now
#=> 2019-04-22 12:13:57 -0700
event_time("22:00")
#=> 2019-04-22 22:00:00 +0000
event_time("10:31")
#=> 2019-04-23 10:31:00 +0000