我想查找给定周内创建的所有项目,并传入一个星期编号参数。 (created_at是一个正常的时间戳。)如何从一周数中获取日期?
给定一个星期的数字,在特定的一周中找到一个日期的最简单方法是什么? (在一周的任何日期都行,我会在范围内使用beginning_of_week和end_of_week。)
我想查找给定周内创建的所有项目,并传入一个星期编号参数。 (created_at是一个正常的时间戳。)如何从一周数中获取日期?
给定一个星期的数字,在特定的一周中找到一个日期的最简单方法是什么? (在一周的任何日期都行,我会在范围内使用beginning_of_week和end_of_week。)
你可以代表使用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.weeks.since(Time.gm(Time.now.year))
=> Fri Jan 15 00:00:00 UTC 2010
替代(week_number - 1)
代替1
,您将在所需的星期内得到一个日期。
假设你也有一些年份数据(超过当前系统年),否则事情会对每个新年的结束/开始感兴趣。 – 2010-12-08 15:51:22
你需要说明你想使用哪一周的数字定义(有几个定义)。 – TToni 2010-12-08 15:52:41
我认为这个应用程序会做的很好,如果我让范围Date.today +/- 6个月,所以我可以解决新的一年问题。 – 2010-12-08 15:56:30