I have an array of object with dateString
(of creation) as parametere. I wanna sort
the array of objects based on timestamp
(of creation).
For example,
array = ["dateString":"2018-03-06", "dateString":"2018-03-05"]
You can convert date string to date formate then compare with each to find sorted array.
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-dd-MM"// yyyy-MM-dd"
var convertedArray: [Date] = []
var dateArray = ["2018-03-06", "2018-03-05"]
for dat in dateArray {
let date = dateFormatter.date(from: dat)
if let date = date {
convertedArray.append(date)
}
}
let ready = convertedArray.sorted(by: { $0.compare($1) == .orderedAscending })
// For Descending use .orderedDescending
print(ready) //[2018-05-02 18:30:00 +0000, 2018-06-02 18:30:00 +0000]
var newList = [String]()
for date in ready {
let dateformatter = DateFormatter()
dateformatter.dateFormat = "dd-MM-yyyy"
let convertDate = dateformatter.string(from: date)
newList.append(convertDate)
}
print(newList) //["03-05-2018", "03-06-2018"]