Sorting array elements by date

dates = ["6/23/2014", "8/5/2014",  "8/19/2014", "6/26/2014",
         "8/19/2014", "8/19/2014", "7/8/2014",  "6/3/2014",
         "7/30/2014", "7/3/2014",  "6/3/2014",  "6/26/2014"]

dates.sort_by { |d| d.split(?/).rotate(-1).map { |e| -e.to_i } }
  #=> ["8/19/2014", "8/19/2014", "8/19/2014", "8/5/2014",
  #    "7/30/2014", "7/8/2014",  "7/3/2014",  "6/26/2014",
  #    "6/26/2014", "6/23/2014", "6/3/2014", "6/3/2014"]
dates.sort_by {|s| Date.strptime(s, '%m/%d/%Y')}.reverse

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章