前言:
之前写过一个通过时间戳比对时间的方法,感觉太过于麻烦,当麻烦经常重现的时候,就想着反思一下,于是就找一些资料,写了这个方法,感觉还是挺好用的,分享
//比对开始时间和结束时间
NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *sDate = [formatter dateFromString:self.startDateStr];
NSDate *eDate = [formatter dateFromString:self.endDateStr];
//1:开始时间大 -1:开始时间小 0:相等
int result = [self compareOneDay:sDate withAnotherDay:eDate];
if (result == 1) {
[SVProgressHUD showInfoWithStatus:@"开始时间大于结束时间"];
return;
}
//开始时间和结束时间的对比
- (int)compareOneDay:(NSDate *)startDate withAnotherDay:(NSDate *)endDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *sDate = [dateFormatter stringFromDate:startDate];
NSString *eDate = [dateFormatter stringFromDate:endDate];
NSDate *dateA = [dateFormatter dateFromString:sDate];
NSDate *dateB = [dateFormatter dateFromString:eDate];
NSComparisonResult result = [dateA compare:dateB];
//开始时间大于结束时间
if (result == NSOrderedDescending) {
return 1;
}
//开始时间小于结束时间
else if (result == NSOrderedAscending){
return -1;
}
//相等
return 0;
}