How Do I Find Common Dates in Two Ranges
-
04-10-2019 - |
Question
I have 2 date ranges, start_date1..end_date1
and start_date2..end_date2
, is there an easy "ruby" way to find all the dates that are in both ranges?
Solution
You can use
(start_date1..end_date1).to_set & (start_date2..end_date2).to_set
here's a fully worked example:
require 'date'
require 'set'
((Date.today - 3)..(Date.today + 2)).to_set & (Date.today..(Date.today + 5)).to_set
if you're counting characters, you can also just do
(start_date1..end_date1).to_set & start_date2..end_date2
but I think the original version is clearer.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow