Rails上周的最后一天bug?

时间:2015-11-23 00:36:03

标签: ruby-on-rails ruby datetime

我试图赶上上周的最后一天。

今天是:

d = Date.today
=> Sun, 22 Nov 2015

d.at_end_of_week
=> Sun, 22 Nov 2015

d.at_end_of_week.last_week
=> Mon, 09 Nov 2015

最后一个命令应该返回2015年11月15日星期一,不是吗?

这也会返回相同的FYI:

Date.today.at_end_of_week.last_week
 => Mon, 09 Nov 2015

我在这里缺少什么?

2 个答案:

答案 0 :(得分:5)

你所看到的是正确的。请注意,last_weekprev_week的别名,其中包含默认为Date.begining_of_week:monday)的可选参数

导致试图找到前一周的日期,但是从过去的星期一开始。

如果您改为致电Date.today.at_end_of_week.last_week :sunday。对于您尝试完成的任务,您需要一种方法来根据今天的日期替换:sunday。也许是this,但我还没试过。

答案 1 :(得分:0)

尝试:

Date.today.last_week.at_end_of_week