ruby,如何查找数组的所有元素都在日期范围内

我有一系列字符串日期[‘2018-03-28’,….’2018-02-18’]以及日期选择器’2018-01-01’和’2018-03-28的两个字符串日期’,如何确定数组中的所有日期是否在范围内? 谢谢。

 require 'date' dates = ['2018-03-28', '2018-02-18'] range = Date.parse('2018-01-01')..Date.parse('2018-03-28') dates.all? { |date| range.cover? Date.parse date } #=> true 

更新只使用select,因为此日期格式是顺序的:

 dates = ['2018-03-28','2017-01-01','2018-02-18'] dates.select{|d| d.between?('2018-01-01','2018-03-28')} 

如果您想知道所有日期是否在范围内:

 dates.all?{|d| d.between?('2018-01-01','2018-03-28')} 

更新的答案,抱歉我很懒。