如何对NSArray的日期进行排序

时间:2014-01-06 09:38:59

标签: nsarray nsdate

我有一堆像这样的数据:     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-06 09:36:13 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-08 17:09:33 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-11 00:42:53 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-13 08:16:13 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”,     “2014-01-15 15:49:33 +0000”

我如何按“天”排序这些数据,所以我可以得到第6天,第8天,第11天和第13天。 15 ?? 感谢。

1 个答案:

答案 0 :(得分:0)

只需在NSArray中使用比较块。您甚至不需要将字符串转换为日期。

int main(int argc, char *argv[])
{
@autoreleasepool {

    NSArray* dateStringArray = @[   @"2014-01-06 09:36:13 +0000",
                                    @"2014-01-18 09:36:13 +0000",
                                    @"2014-01-19 09:36:13 +0000",
                                    @"2014-04-06 09:36:13 +0000",
                                    @"2014-02-06 09:36:13 +0000",
                                    @"2014-05-17 09:36:13 +0000",
                                    @"2014-05-23 09:36:13 +0000",
                                    @"2014-06-06 09:36:13 +0000",
                                    @"2014-06-02 09:36:13 +0000" ] ;

    NSLog(@"%@" , dateStringArray) ;

    dateStringArray = [dateStringArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        NSString *s1 , *s2;
        NSRange range = NSMakeRange(8, 2) ;
        s1 = [obj1 substringWithRange:range];
        s2 = [obj2 substringWithRange:range];
        if (s1.integerValue > s2.integerValue)
        {
            return NSOrderedDescending ;
        }
        else if (s1.integerValue < s2.integerValue)
        {
            return NSOrderedAscending ;
        }
        else
        {
            return NSOrderedSame;
        }


    }] ;

    NSLog(@"--------");
    NSLog(@"%@" , dateStringArray);
相关问题