ios 比较时间(非时间戳)

前言:

之前写过一个通过时间戳比对时间的方法,感觉太过于麻烦,当麻烦经常重现的时候,就想着反思一下,于是就找一些资料,写了这个方法,感觉还是挺好用的,分享



//比对开始时间和结束时间
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 ;
}


你可能感兴趣的:(ios)