如何按日期降序,但同时间内该日期升序排序 NSDate

如题所述

1.首先要保证日期格式规范才行,如下表所示2.在规范日期格式以后,选择数据--排序3.在主要关键字里,选择日期,升序或者降序排序即可4.看看结果如下
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-03
解决方法 1:

我认为你需要一个特别的比较器为此。使用initWithKey: 升序: 比较器:初始化您排序描述符并作为一种比较器传递这:

^(id obj1, id obj2) {
NSDateComponents *components1 = [[NSCalendar currentCalendar] components:NSHourCalendarUnit|NSDayCalendarUnit fromDate:obj1];
NSInteger day1 = [components1 day];
NSInteger hour1 = [components1 hour];

NSDateComponents *components2 = [[NSCalendar currentCalendar] components:NSHourCalendarUnit|NSDayCalendarUnit fromDate:obj2];
NSInteger day2 = [components2 day];
NSInteger hour2 = [components2 hour];

NSComparisonResult res;
if (day1>day2) {
res = NSOrderedAscending;
} else if (day1<day2) {
res = NSOrderedDescending;
} else {
if (hour1>hour2) {
res = NSOrderedDescending;
} else {
res = NSOrderedAscending;
}
}
return res;
}

这应该给你如何可以实现这样的想法,您将需要添加的分钟和第二个组件,并还处理小时、 分钟和秒都是平等的情况。本回答被网友采纳
相似回答