Rails 主动支持:从特定日期开始计算上周

Rails Active Support: Calculate last week from a specific date

我需要计算从特定日期算起的最后一周。

我知道 Rails 有 1.week.ago.beginning_of_week1.week.ago.end_of_week 方法,但我认为这些计算只基于当前时间。

有没有办法创建 any 时间对象(不仅仅是当前)并使用类似的方法计算前一周?

谢谢!

您可以add/subtract Time(或Date;或DateTime):

time = Time.parse("01/23/1995") #Valid Time object of any time in past/future

week_ago = time - 1.week

beginning_of_week_ago = week_ago.beginning_of_week
end_of_week_ago = week_ago.end_of_week