but I didn't got the current output, I want to sort the array by using date format,my array date is in string format.that data is like this
( Fri,10 Apr,16:59 pm, Fri,10 Apr,18:37 pm, Fri,10 Apr,22:28 pm, Sat,11 Apr,16:59 pm )
so I want sort this data correctly
Try this -
NSString *str1 = @"Fri,10 Apr,16:59";
NSString *str2 = @"Fri,10 Apr,14:37";
NSString *str3 = @"Sat,11 Apr,16:59";
NSArray *arr = [NSArray arrayWithObjects:str1, str2, str3, nil];
arr = [arr sortedArrayUsingFunction:dateSort context:nil];
//The date sort function
NSComparisonResult dateSort(NSString *s1, NSString *s2, void *context) {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"EE,dd MMM,HH:mm"];
NSDate *d1 = [formatter dateFromString:s1];
NSDate *d2 = [formatter dateFromString:s2];
return [d1 compare:d2]; // ascending order
return [d2 compare:d1]; // descending order
}
See result screenshot-