Trong ứng dụng Rails 3.2, tôi có một truy vấn được xác định để trả về tất cả các mục sự kiện với: due_date bằng ngày hôm nay.Cách Rails để xác định ngày mai là gì?
@due_today = Event.where(:due_date => Time.now.beginning_of_day..Time.now.end_of_day)
Tôi muốn sửa đổi điều này để trả lại tất cả sự kiện vào ngày hôm nay và ngày mai.
Cách tốt nhất để làm điều này là gì?
Tôi biết có một số tùy chọn có sẵn cho tôi:
Date.tomorrow
Date.current.tomorrow
Date.now.tomorrow
DateTime.now.tomorrow.to_date
Time.now.tomorrow.to_date
Date.current+1
Tôi chắc rằng có những người khác. Tất cả đều có thể hoán đổi cho nhau? Có sự khác biệt nào về hiệu suất không? Có bất kỳ vấn đề nào liên quan đến các cách tiếp cận khác nhau không? Tôi hoan nghênh mọi đề xuất về cách thực hiện cách tốt nhất.
Đối với thêm kudo: Tôi cũng muốn hiển thị: due_date là Hôm nay HH: MM hoặc Tomorrow HH: MM, trong đó HH: MM là thời gian. Có phương pháp nào được đưa vào Rails để hiển thị các ngày như Hôm nay hoặc Ngày mai không? Hoặc tôi sẽ cần phải xác định phạm vi của riêng tôi?
Rất cám ơn!
tôi sẽ không lo lắng về hiệu suất quá nhiều. Bạn có thể sẽ không tính toán ngày hàng ngàn lần trong một vòng lặp chặt chẽ, do đó, sự khác biệt hiệu suất là không đáng kể. Đi với một trong đó là dễ đọc nhất. Lưu ý rằng 'current' sẽ tính múi giờ trong khi' now' thì không. – Dennis