是否有一个 Ruby gem 可以实现类似于PostgreSQL的范围计算?特别是与时间相关的范围函数?
问问题
168 次
2 回答
0
在不确切知道您要完成什么的情况下很难回答这个问题,但您可能想查看 ActiveSupport gem 的 CoreExtensions 模块:http: //guides.rubyonrails.org/active_support_core_extensions.html
安装 ActiveSupportgem install activesupport
或将其添加到您的 Gemfile。
使用 ActiveSupport,您可以执行以下操作:
require 'active_support/core_ext'
10.days.from_now #=> 2013-06-08 08:37:34 -0400
DateTime.now.beginning_of_year #=> Tue, 01 Jan 2013 00:00:00 -0400
1.megabyte #=> 1048576
(1..10).step(2) #=> [1, 3, 5, 7, 9]
(1..10).overlaps?(0..7) #=> true
Date.current.next_month #=> Sat, 29 Jun 2013
Date.current.prev_week(:friday) #=> Fri, 24 May 2013
我希望这有帮助。
于 2013-05-29T12:43:50.987 回答
0
Range#cover?
测试对象是否在范围的开始和结束之间。
Ruby 的等价物'[2011-01-01,2011-03-01)'::tsrange @> '2011-01-10'::timestamp
是:
(Date.new(2011,01,01)..Date.new(2011,03,01)).cover? Date.new(2011,01,10)
# => true
它测试Date.new(2011,01,01) <= Date.new(2011,01,10) <= Date.new(2011,03,01)
.
于 2013-05-29T12:02:08.093 回答