我有一个时间数组(HH:mm:ss
),如何找出其中哪个时间更大,哪个时间已经过去?如果我可以通过升序对它们进行排序,那就太好了。
问问题
65 次
2 回答
1
如果您的时间由格式中的字符串给出HH:mm:ss
,您可以将它们转换为 NSDate 对象并使用可变数组对它们进行排序:
NSArray *timeStrings = // however you obtain it...
NSMutableArray *sorted = [NSMutableArray array];
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
[fmt setDateFormat:@"HH:mm:ss"];
for (NSString *dtStr in timeStrings) {
[sorted addObject:[fmt dateFromString:dtStr]];
}
[sorted sortUsingSelector:@selector(compare:)];
现在sorted
将包含按升序排序的日期对象。
于 2012-11-26T12:32:55.233 回答
0
//COnvert Strings to Dates
//Comparison with current time
NSMutableArray *dates;
for (NSDate *d in dates) {
if ([d compare:[NSDate date]]== NSOrderedAscending) {
NSLog(@"Future Time");
}else if([d compare:[NSDate date]]== NSOrderedSame){
NSLog(@"Present Time");
}else{
NSLog(@"Past Time");
}
}
// For sorting
[dates sortUsingSelector:@selector(compare:)];
于 2012-11-26T13:45:13.173 回答