首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何按日期获得订单?

如何按日期获得订单?
EN

Stack Overflow用户
提问于 2015-06-10 10:03:25
回答 3查看 115关注 0票数 2

我有一本字典,里面有很多东西。我要按日期订购升序商品。我的约会格式是:10-6月-2015 09:27:11

我尝试了这段代码,但没有成功: aux是我的数组,包含日期组件。

代码语言:javascript
复制
for (int i=0; i<aux.count-1; i++) {
            for (int j=i+1; j<aux.count; j++) {
                NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
                [dateFormat setDateFormat:@"dd-MM-yyyy hh:mm:ss"];
                NSDate *date1 = [dateFormat dateFromString:[aux objectAtIndex:i]];
                NSDate *date2 = [dateFormat dateFromString:[aux objectAtIndex:j]];

                NSComparisonResult comparisonResult = [date1 compare:date2];
                if (comparisonResult==-1) {
                    NSString *var= [aux objectAtIndex:i];
                    [aux replaceObjectAtIndex:i withObject:[aux objectAtIndex:j]];
                    [aux replaceObjectAtIndex:j withObject:var];

                }
            }
        }

我想比较两个日期(date1,date2)。如果date2像date1那样大的话,我想交换。我希望手动交换:如果date2更大,我只想从方法中获取一个true1

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-10 10:52:52

NSMutableArray用它的一种排序方法(例如sortUsingComparator:)来处理排序:

代码语言:javascript
复制
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss"];

[aux sortUsingComparator:^NSComparisonResult(NSString *datestring1, NSString *datestring2) {
    NSDate *date1 = [dateFormatter dateFromString:datestring1];
    NSDate *date2 = [dateFormatter dateFromString:datestring2];
    return [date1 compare:date2];
}];

SIDENOTE:您还应该考虑将日期字符串转换为NSDate的字符串一次,并将它们作为NSDate存储在数组中。

票数 5
EN

Stack Overflow用户

发布于 2015-06-10 10:08:47

假设您有一个对象的NSMutableArray,其字段为NSDate类型的"startDate“,然后使用下面的代码:

代码语言:javascript
复制
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"startDate" ascending:YES];
[myMutableArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
票数 0
EN

Stack Overflow用户

发布于 2015-06-10 10:09:55

尝试比较和填充,如下所示

代码语言:javascript
复制
    NSComparisonResult result;
    result = [Str_StoreOpening compare:Str_StoreClosing]; // comparing two dates

    NSString *Str_CloseTime;
    if(result==NSOrderedAscending){
        //populate in Ordered Ascending in here

    }else if(result==NSOrderedDescending){
        //populate in Ordered Descending in here


    }else{
        //NSLog(@"Both dates are same");

    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30753173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档