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.years
etc.
¿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.days
siempre recoge la zona horaria de su sistema, mientras10.days.from_now
que recogerá la zona horaria UTC si no se establece nada en la configuración de rieles.Time.zone.now
en 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