id:seuzoさんの『連続した日付を範囲形式でまとめる』を読んで自分も作ってみた。 いつまでも使い方が覚えられないEnumerable#slice_beforeを使ってみる。 Ruby1.9.2p136です。 # coding: UTF-8 require 'date' lists = " 2010-12-31 , 2011-01-01 , 2011-01-02 ,2011-01-10, 2011-03-02,2011-03-01,2011-02-28,2011-03-03,2011-03-05,2012-0-00 " sorted = [*lists].flatten.flat_map{|list| list.chomp.split(/,/)} .map{|e| Date.parse(e.strip) rescue nil}.compact.sort prev = sorted.fir