Intenté hacer algo como
Time.now + 5.days
pero eso no funciona, aunque recuerdo vagamente haber visto y estar muy impresionado con poder hacer algo como, 2.yearsetc.
¿Cómo hago eso en Rails 3?
ruby-on-rails
datetime
ruby-on-rails-3
activesupport
Yuval Karmi
fuente
fuente

Respuestas:
Utilizar
o incluso
Ambos definitivamente funcionan. ¿Estás seguro de que estás en Rails y no solo en Ruby?
Si definitivamente estás en Rails, ¿desde dónde intentas ejecutar esto? Tenga en cuenta que se debe cargar Active Support.
fuente
Time.now + 10.dayssiempre recoge la zona horaria de su sistema, mientras10.days.from_nowque recogerá la zona horaria UTC si no se establece nada en la configuración de rieles.Time.zone.nowen lugar deTime.now.days,years, Etc., son parte de la ayuda activa, por lo que esto no funcionará enirb, pero debería funcionar enrails console.fuente
require 'active_support/time'al comienzo de la sesión o antes de usar sus comandosEsto definitivamente funciona y lo uso cuando necesito agregar días a la fecha actual:
fuente
Algunas otras opciones, solo como referencia.
Solo enumera todas las opciones que conozco:
Entonces, ¿cuál es la diferencia entre ellos si nos preocupamos por la zona horaria?
[1, 4]Con zona horaria del sistema[2, 3]Con la zona horaria de configuración de su aplicación Rails[5]Solo fecha sin hora incluida en el resultadofuente
Prueba esto en Rails
Prueba esto en Ruby
fuente
Prueba esto en Ruby. Devolverá una nueva fecha / hora el número especificado de días en el futuro
fuente