我有字典数组,每本字典中都包含一个date参数。日期参数数组(包含在字典中)如下:
[@"16-1-2015 7:00PM",@"15-1-2014 11:30AM",@"14-1-2014 7:00PM",
@"15-1-2015 6:30AM ".@"16-1-2015 8:30PM"]
我需要像这样的输出:
[@"16-1-2015 8:30PM",@"16-1-2015 7:00PM",@"15-1-2015 6:30AM ",
@"15-1-2014 11:30AM",@"14-1-2014 7:00PM"];
最佳答案
您可以尝试以下方法:
NSArray *dateStringArray = @[ @"16-1-2015 7:00PM", @"15-1-2014 11:30AM", @"14-1-2014 7:00PM", @"15-1-2015 6:30AM ", @"16-1-2015 8:30PM" ];
- (NSArray *)sortDateStringArray:(NSArray *)dateStringArray
{
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"dd-MM-yyyy h:mma"];
NSArray *sortedArray = [dateStringArray sortedArrayUsingComparator:^NSComparisonResult(NSString *obj1, NSString *obj2) {
NSDate *date1 = [dateFormater dateFromString:obj1];
NSDate *date2 = [dateFormater dateFromString:obj2];
return [date2 compare:date1];
}];
return sortedArray;
}
我认为最好将日期字符串转换为NSDate然后进行比较
希望这个帮助!
关于ios - 如何以升序对字符串中包含日期的数组进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28711360/