1. 程式人生 > >ios 字串比較 日期比較

ios 字串比較 日期比較

字串比較

1 2 3 4 5 6 7 8 //字串比較 NSString *string @"hello nihao"; NSString *otherString = @"hello niyeyao"; if([string compare:otherString] == NSOrderedAscending){ NSLog(@"我比你大"); }else{ NSLog(@"我是小三"); }

日期比較

1 2 3 4 5 6 7 8 //日期比較 NSDate *nowDate = [NSDate date];
NSDate *yesterdayDate = [[NSDate alloc] initWithTimeIntervalSinceNow:-24 * 60 * 60]; if([nowDate compare:yesterdayDate] == NSOrderedAscending){ NSLog(@"我是今天"); }else{ NSLog(@"我是我昨天"); }

當然這裡也可以,將指定的字串轉換為時間進行比較,字串的時間格式要跟自己設定的時間格式相對應

1 2 3 4 5 6 7 8 9 10 11 12 13 //日期比較 NSString *nowDateString = 
@"2013/7/13"; NSString *yesterdayDateString = @"2013/7/12"; NSDateFormatter *dateFromatter = [[NSDateFormatter alloc] init]; [dateFromatter setDateFormat:@"yy/MM/dd"]; NSDate *nowDate = [dateFromatter dateFromString:nowDateString]; NSDate *yesterdayDate = [dateFromatter dateFromString:yesterdayDateString];
if([nowDate compare:yesterdayDate] == NSOrderedAscending){ NSLog(@"我是今天"); }else{ NSLog(@"我是我昨天"); }

結果他的表現就是

1 2 2013-07-20 18:18:03.165 尋藝[90532:c07] 我比你大 2013-07-20 18:18:03.168 尋藝[90532:c07] 我是我昨天

這裡需要注意的就是

NSOrderedAscending

我們在Xcode定位的話

會找到這樣的程式碼

1 typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};

結果 跟 -1 0 1應該是一樣的。