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应该是一样的。

你可能感兴趣的:(ios 字符串比较 日期比较)