开发者

How do I get a Date from a week number?

I want to find all items created in a given week, and pass in a week number param. (created_at is a normal timestamp.)

Given a week number, what is the easiest way to find a date in that particular week? (Any date in the week will do, as I will use beginning_of_week and end_of_w开发者_如何学JAVAeek in the scope.)


You can get Date objects representing the beginning and end of your week using the commercial method:

week = 41;

wkBegin = Date.commercial(2010, week, 1)
wkEnd = Date.commercial(2010, week, 7)

Now do your find:

  Item.find(:all, :conditions->:create_date=>wkBegin..wkEnd.end_of_day)


Assuming you mean "a given week number in the current year", you can do the following:

2.weeks.since(Time.gm(Time.now.year))
=> Fri Jan 15 00:00:00 UTC 2010

Substitute (week_number - 1) for the 1 in the above, and you'll get a date in the desired week.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜