我想实现日期排序。以下是我正在使用的代码:
NSArray *sorters = @[[NSSortDescriptor sortDescriptorWithKey:@"reviewed_datetime" ascending:NO comparator:^(id obj1, id obj2) {
NSString *strObj1 = [@"" stringByAppendingFormat:@"%@",obj1];
NSString *strObj2 = [@"" stringByAppendingFormat:@"%@",obj2];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM dd, YYYY | HH:mm a"];
NSDate *n1 = [formatter dateFromString:strObj1]; NSLog(@"date n1 : %@",n1);
NSDate *n2 = [formatter dateFromString:strObj2]; NSLog(@"date n2: %@",n2);
return [n1 compare:n2];
}]];
NSArray *sortedLoc = [locReview sortedArrayUsingDescriptors:sorters];
[locReview removeAllObjects];
[locReview addObjectsFromArray:sortedLoc];
问题是我解析的日期是(见上面的变量代码):obj1 =Apr 7, 2014 | 2:45 PM
我n1
的日期是2013-12-22 07:21:00 +0000
。
我哪里出错了?我该如何解决这个问题?
答案 0 :(得分:1)
将YYYY改为yyyy,你应该没事。 YYYY用于“周 - 年”ISO日历,可能与日历年不同。