NSDates没有正确排序

时间:2014-05-31 19:37:14

标签: sorting nsdate nssortdescriptor

我使用核心数据存储了NSDates。我现在想在表格视图中显示这些日期。当我显示这些NSDates时,我使用的是这种排序描述符,见下文。问题是,它没有正确排序。我希望它按顺序排序。凌晨1点,凌晨2点,下午6点,晚上7点等等。当它显示nsdates时,它似乎只是以某种方式对它进行排序,我不知道,善良随机的。如何以正确的顺序显示这些NSDates的任何帮助都会很棒!非常感谢

///timePicker is the NSDate entity of my stored NSDates
fetchRequest.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"timePicker" ascending:YES selector:@selector(compare:)]];

输入

 NSDate *currentDate = [NSDate date];
 entry.timePicker = currentDate;

输出

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"h:mm a"];
NSDate *currentTime = entry.timePicker;
self.timeLabel.text = [dateFormatter stringFromDate:currentTime];

1 个答案:

答案 0 :(得分:2)

问题仅仅是显示问题。 日期正按日期时间正确排序,因此例如2010年1月1日上午10点30分将在2010年1月2日上午9:30之前进行排序。但是那时你只显示小时和分钟,所以你的是字符串" 10:30 AM"在字符串" 9:30 AM"。

之前