定义“end_of_week”的时间

时间:2013-10-09 10:26:17

标签: ruby-on-rails ruby

我正在创建一个从数据库中提取数据的方法,在数据库中将数据放入一个以[date, value]作为输出的数组(存储在另一个数组中,但这是详细信息)。

我每周都会显示数据,但我不希望周末使用它,这就是为什么我将end_of_week更改为:saturday(从周一到周五提取所有数据)。但是,这将从周一早上00:01到周五晚23:59获取所有数据。

有没有办法定义end_of_week,以便停止获取周五18:00之后创建的数据? 在伪代码中,它将是这样的: end_of_week(:friday, 18:00)

1 个答案:

答案 0 :(得分:3)

我认为你过于复杂了

Time.now.end_of_week - (2.days + 6.hours)
=> 2013-10-11 17:59:59 +0200

会正常工作。

如果你真的想从星期一到星期五下午6点表达一个时间跨度,我会这样做

start = Time.now.at_beginning_of_week
=> 2013-10-07 00:00:00 +0200
ending = start + 4.days + 18.hours
=> 2013-10-12 18:00:00 +0200