ios 字串比較 日期比較
阿新 • • 發佈:2019-01-24
字串比較
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應該是一樣的。