我有一本字典,里面有很多东西。我要按日期订购升序商品。我的约会格式是:10-6月-2015 09:27:11
我尝试了这段代码,但没有成功: aux是我的数组,包含日期组件。
for (int i=0; i<aux.count-1; i++) {
for (int j=i+1; j<aux.count; j++) {
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd-MM-yyyy hh:mm:ss"];
NSDate *date1 = [dateFormat dateFromString:[aux objectAtIndex:i]];
NSDate *date2 = [dateFormat dateFromString:[aux objectAtIndex:j]];
NSComparisonResult comparisonResult = [date1 compare:date2];
if (comparisonResult==-1) {
NSString *var= [aux objectAtIndex:i];
[aux replaceObjectAtIndex:i withObject:[aux objectAtIndex:j]];
[aux replaceObjectAtIndex:j withObject:var];
}
}
}我想比较两个日期(date1,date2)。如果date2像date1那样大的话,我想交换。我希望手动交换:如果date2更大,我只想从方法中获取一个true或1。
发布于 2015-06-10 10:52:52
让NSMutableArray用它的一种排序方法(例如sortUsingComparator:)来处理排序:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss"];
[aux sortUsingComparator:^NSComparisonResult(NSString *datestring1, NSString *datestring2) {
NSDate *date1 = [dateFormatter dateFromString:datestring1];
NSDate *date2 = [dateFormatter dateFromString:datestring2];
return [date1 compare:date2];
}];SIDENOTE:您还应该考虑将日期字符串转换为NSDate的字符串一次,并将它们作为NSDate存储在数组中。
发布于 2015-06-10 10:08:47
假设您有一个对象的NSMutableArray,其字段为NSDate类型的"startDate“,然后使用下面的代码:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"startDate" ascending:YES];
[myMutableArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];发布于 2015-06-10 10:09:55
尝试比较和填充,如下所示
NSComparisonResult result;
result = [Str_StoreOpening compare:Str_StoreClosing]; // comparing two dates
NSString *Str_CloseTime;
if(result==NSOrderedAscending){
//populate in Ordered Ascending in here
}else if(result==NSOrderedDescending){
//populate in Ordered Descending in here
}else{
//NSLog(@"Both dates are same");
}https://stackoverflow.com/questions/30753173
复制相似问题