如何从周数中获取日期?

时间:2010-12-08 15:48:28

标签: ruby-on-rails ruby

我想查找在给定周内创建的所有项目,并传递一周的数字参数。 (created_at是正常时间戳。)

考虑到一周的数字,在该特定周内找到日期的最简单方法是什么? (本周的任何日期都可以,因为我将在范围内使用beginning_of_week和end_of_week。)

2 个答案:

答案 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,您将获得所需周中的日期。