开发者

How do I get a Date from a week number?

开发者 https://www.devze.com 2023-01-30 02:22 出处:网络
I want to find all items created in a given week, and pass in a week number param. (created_at is a normal timestamp.)

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

精彩评论

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