ruby on rails - instalar - Cómo agregar 10 días a la hora actual en Rails
ruby on rails windows 10 (6)
Intenté hacer algo como
Time.now + 5.days
pero eso no funciona, aunque recuerdo vagamente haberlo visto y me impresionó mucho poder hacer algo como 2.years
etc.
¿Cómo hago eso en Rails 3?
Algunas otras opciones, solo para referencia
-10.days.ago
# Available in Rails 4
DateTime.now.days_ago(-10)
Solo haga una lista de todas las opciones que conozco:
[1] Time.now + 10.days
[2] 10.days.from_now
[3] -10.days.ago
[4] DateTime.now.days_ago(-10)
[5] Date.today + 10
Entonces, ¿cuál es la diferencia entre ellos si nos preocupamos por la zona horaria?
-
[1, 4]
Con el sistema de zona horaria -
[2, 3]
Con config timezone de tu aplicación Rails -
[5]
Fecha solo no hay tiempo incluido en el resultado
Esto definitivamente funciona y lo uso donde sea que necesite agregar días a la fecha actual:
Date.today() + 5
Prueba esto con Ruby. Devolverá una nueva fecha / hora el número especificado de días en el futuro
DateTime.now.days_since(10)
Prueba esto en Rails
Time.new + 10.days
Prueba esto con Ruby
require ''date''
DateTime.now.next_day(10).to_time
Utilizar
Time.now + 10.days
o incluso
10.days.from_now
Ambos definitivamente funcionan. ¿Estás seguro de que estás en Rails y no solo de Ruby?
Si definitivamente estás en Rails, ¿de dónde estás tratando de ejecutar esto? Tenga en cuenta que el soporte activo debe estar cargado.
days
, years
, etc., son parte de Soporte activo, por lo que esto no funcionará en irb
, pero debería funcionar en la rails console
.