//Sort any dictionary with string dates using any date format
var incisions = [["initials": "B.B. ", "date": "12/18/17 09:39 AM", "patientID": "snowball"], ["patientID": "snowball", "date": "01/03/18 04:03 PM", "initials": "C.J."], ["initials": "B.B. ", "date": "01/04/18 09:47 AM", "patientID": "snowball"]]
func sortArrayDictDescending(dict: [Dictionary<String, String>], dateFormat: String) -> [Dictionary<String, String>] {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = dateFormat
return dict.sorted{[dateFormatter] one, two in
return dateFormatter.date(from: one["date"]!)! > dateFormatter.date(from: two["date"]!)! }
}
//use:
let sortedArray = sortArrayDictDescending(dict: incisions, dateFormat: "MM/dd/yy a")
for i in sortedArray {
print("incisions \(i["date"]!)")
}
//output:
incisions 01/04/18 09:47 AM
incisions 01/03/18 04:03 PM
incisions 12/18/17 09:39 AM
,您可以指定时间格式? – Rahul
我这样做的问题@Rahul –
你可以使用'DateFormatter' – Rahul