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')}
更新的答案,抱歉我很懒。