En Ruby, ¿cómo lo hago Time.now + 10.hours
?
¿Existe un equivalente para secs
y mins
? Por ejemplo:
Time.now + 15.mins
Respuestas:
Ruby (el lenguaje de programación) no tiene 10.hours
, eso es ActiveSupport
como parte de Ruby on Rails (el marco web). Y sí, tiene métodos minutes
y 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 .minutes
y .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 Fixnum
peroTime.now + 10
funciona ... para todos los que tienen el mismo problema;)