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