如何在两个范围内找到常见日期

我有2个日期范围, start_date1..end_date1start_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 

但我认为原始版本更清晰。