i was making a birthday-tracking application, and wanted to be able to do year-insensitive date sorts. i couldn’t find what I was looking for, so I wrote this:
int personSortByBirthday (NSCalendarDate *d1, NSCalendarDate *d2, void *context) { int day1 = [d1 dayOfMonth]; int day2 = [d2 dayOfMonth]; int month1 = [d1 monthOfYear]; int month2 = [d2 monthOfYear]; if (month1 < month2) { return NSOrderedAscending; } else if (month1 > month2) { return NSOrderedDescending; } else { if (day1 < day2) { return NSOrderedAscending; } else if (day1 > day2) { return NSOrderedDescending; } else { return NSOrderedSame; } } }
Leave a comment