我想查找在给定周内创建的所有项目,并传递一周的数字参数。 (created_at是正常时间戳。)
考虑到一周的数字,在该特定周内找到日期的最简单方法是什么? (本周的任何日期都可以,因为我将在范围内使用beginning_of_week和end_of_week。)
答案 0 :(得分:70)
您可以使用commercial
方法获取表示一周开头和结尾的Date对象:
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)
答案 1 :(得分:5)
假设您的意思是“当前年份中的给定周数”,您可以执行以下操作:
2.weeks.since(Time.gm(Time.now.year))
=> Fri Jan 15 00:00:00 UTC 2010
将上述(week_number - 1)
替换为1
,您将获得所需周中的日期。