Rails上周的最后一天bug?

cma*_*n77 0 ruby datetime ruby-on-rails

我想要上周的最后一天.

今天是:

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
Run Code Online (Sandbox Code Playgroud)

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

这也返回相同的FYI:

Date.today.at_end_of_week.last_week
 => Mon, 09 Nov 2015
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

nbe*_*ezs 5

你所看到的是正确的.注意,last_week它的别名prev_week采用默认为Date.begining_of_week(:monday)的可选参数

导致试图在上周查找日期,但是从过去的星期一开始.

相反,如果你打电话Date.today.at_end_of_week.last_week :sunday.对于您尝试完成的任务,您需要一种:sunday基于今天的日期替换某些东西的方法.也许这个,但我还没试过.