2
我有两个日期范围start_date1..end_date1
和start_date2..end_date2
,是否有一种简单的“ruby”方式来查找两个范围内的所有日期?如何查找两个范围内的共同日期
我有两个日期范围start_date1..end_date1
和start_date2..end_date2
,是否有一种简单的“ruby”方式来查找两个范围内的所有日期?如何查找两个范围内的共同日期
您可以使用
(start_date1..end_date1).to_set & (start_date2..end_date2).to_set
这里的整个例子:如果您要统计字符
require 'date'
require 'set'
((Date.today - 3)..(Date.today + 2)).to_set & (Date.today..(Date.today + 5)).to_set
,你也可以做
(start_date1..end_date1).to_set & start_date2..end_date2
但我认为原始版本更清晰。
使用'to_a'而不是'to_set'会更快一些,并且会产生相同的结果。 – 2012-01-06 23:41:46