En Ruby, ¿cómo lo hago Time.now + 10.hours?
¿Existe un equivalente para secsy mins? Por ejemplo:
Time.now + 15.mins
ruby-on-rails
ruby
time
keruilin
fuente
fuente

10 + Time.now::TypeError: Time can't be coerced into FixnumperoTime.now + 10funciona ... para todos los que tienen el mismo problema;)Respuestas:
Ruby (el lenguaje de programación) no tiene
10.hours, eso esActiveSupportcomo parte de Ruby on Rails (el marco web). Y sí, tiene métodosminutesyseconds.Sin embargo,
Time#+(el método + en las instancias de Time) devuelve una nueva instancia de Time que es esa cantidad de segundos en el futuro. Entonces, sin azúcar Ruby on Rails, simplemente puede hacer:irb> t = Time.now #=> 2011-08-03 22:35:01 -0600 irb> t2 = t + 10 # 10 Seconds #=> 2011-08-03 22:35:11 -0600 irb> t3 = t + 10*60 # 10 minutes #=> 2011-08-03 22:45:01 -0600 irb> t4 = t + 10*60*60 # 10 hours #=> 2011-08-04 08:35:01 -0600fuente
Si está utilizando ActiveSupport, lo que está buscando es la versión completa
.minutesy.seconds.Time.now + 10.minutes Time.now + 10.secondsfuente
También en ActiveSupport puede hacer:
10.minutes.from_now 10.minutes.agofuente
Creo que estás hablando de extensiones agregadas por Rails. Creo que lo necesitas
15.minutes.Consulte las Extensiones principales de Active Support para fecha, fecha y hora para obtener más información.
fuente
Objeto de tiempo
time = Time.nowAgregar minutos a un objeto de tiempo:
time + 5.minutesfuente