En una aplicación de Rails 3.2, tengo una consulta definida para devolver todos los elementos del evento con: due_date igual a today.¿Cuál es la manera de Rails de definir la fecha de mañana?
@due_today = Event.where(:due_date => Time.now.beginning_of_day..Time.now.end_of_day)
Quiero modificar esto para devolver todos los eventos para hoy y mañana.
¿Cuál es la mejor manera de hacerlo?
Sé que hay varias opciones disponibles para mí:
Date.tomorrow
Date.current.tomorrow
Date.now.tomorrow
DateTime.now.tomorrow.to_date
Time.now.tomorrow.to_date
Date.current+1
Estoy seguro de que hay otros. ¿Todos estos son intercambiables? ¿Hay alguna diferencia en el rendimiento? ¿Hay algún problema asociado con diferentes enfoques? Me gustaría recibir cualquier sugerencia acerca de cuál es la mejor forma de hacerlo .
Para felicitaciones adicionales: También quiero mostrar el: due_date como Hoy HH: MM o Mañana HH: MM, donde HH: MM es el momento. ¿Hay algún método incorporado en Rails para mostrar fechas como Hoy o Mañana? ¿O tendré que definir mi propio alcance?
¡Muchas gracias!
yo no me preocuparía demasiado el rendimiento. Probablemente no estará calculando la fecha miles de veces en un ciclo cerrado, por lo que las diferencias de rendimiento son insignificantes. Ve con el que es más legible. Tenga en cuenta que 'current' toma timezone en cuenta mientras' now' no. – Dennis