En Ruby, ¿cómo lo hago Time.now + 10.hours?
¿Existe un equivalente para secsy mins? Por ejemplo:
Time.now + 15.mins
Respuestas:
Ruby (el lenguaje de programación) no tiene 10.hours, eso es ActiveSupportcomo parte de Ruby on Rails (el marco web). Y sí, tiene métodos minutesy seconds.
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 -0600
Si está utilizando ActiveSupport, lo que está buscando es la versión completa .minutesy .seconds.
Time.now + 10.minutes
Time.now + 10.seconds
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.
10 + Time.now::TypeError: Time can't be coerced into FixnumperoTime.now + 10funciona ... para todos los que tienen el mismo problema;)