0
我有一個時間陣列(HH:mm:ss
),如何找出哪個時間更大,哪些是經過?如果我可以按升序對它們進行排序,那將會很棒。在iPhone中的時間比較
我有一個時間陣列(HH:mm:ss
),如何找出哪個時間更大,哪些是經過?如果我可以按升序對它們進行排序,那將會很棒。在iPhone中的時間比較
如果你的時間是由串在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
將包含日期對象進行排序asccending。
//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:)];
「時間陣列」 - 什麼表示? NSDate的? – 2012-11-26 12:28:40
數組僅包含'hh:mm:ss'格式的時間。我從'NSDate'中截斷了它。 –