Как получить дату с номера недели?
Я хочу найти все элементы, созданные за определенную неделю, и передать в параме номер недели. (created_at - обычная метка времени.)
Учитывая номер недели, какой самый простой способ найти дату в эту конкретную неделю?
(Любая дата недели будет делать, так как я буду использовать start_of_week и end_of_week в области.)
Ответы
Ответ 1
Вы можете получить объекты Date, представляющие начало и конец недели, с помощью метода commercial
:
week = 41;
wkBegin = Date.commercial(2010, week, 1)
wkEnd = Date.commercial(2010, week, 7)
Теперь вы найдете:
Item.find(:all, :conditions->:create_date=>wkBegin..wkEnd.end_of_day)
Ответ 2
Предполагая, что вы имеете в виду "номер данной недели в текущем году", вы можете сделать следующее:
2.weeks.since(Time.gm(Time.now.year))
=> Fri Jan 15 00:00:00 UTC 2010
Замените (week_number - 1)
для 1
в приведенном выше, и вы получите дату на желаемой неделе.