我有两个日期范围,start_date1..end_date1
和start_date2..end_date2
,是否有一种简单的“红宝石”方式来查找两个范围内的所有日期?
答案 0 :(得分:3)
您可以使用
(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
但我认为原始版本更清晰。