时间的比较

来源:互联网 发布:mac的airplay在哪里 编辑:程序博客网 时间:2024/05/01 07:45

-(NSString *)DisplayInterval:(NSDate *)date {  

NSCalendar *localCalendar = [NSCalendar currentCalendar];

    [localCalendar setTimeZone: [NSTimeZone systemTimeZone]];

   NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;       

NSDateComponents *components = [localCalendar components: unitFlags fromDate:date toDate: [NSDate date] options: 0];    NSInteger years = [components year];   

NSInteger months = [components month]; 

  NSInteger days = [components day];      

if ((years == 0) && (months == 0) && (days == 0)) {

       NSInteger hours = [components hour];     

  NSInteger mins = [components minute];          

     if ((hours == 0) && (mins == 0)) {         

  return @"现在";        } else if (hours == 0) { 

          return [NSString stringWithFormat: @"%d分钟前", mins]; 

      } else {          

return [NSString stringWithFormat: @"%d小时前", hours];

       }    } else if ((years == 0) && (months == 0) && (days == 1)) { 

      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];    

   [dateFormat setDateFormat: @"yyyy-MM-dd HH:mm"];     

  NSString *dateString = [dateFormat stringFromDate: date];  

     return [NSString stringWithFormat: @"昨天 %@", [[dateString substringFromIndex: 11] substringToIndex: 5]]; 

  } else if ((years == 0) && (months == 0) && (days == 2)) {

       NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];  

     [dateFormat setDateFormat: @"yyyy-MM-dd HH:mm"];     

  NSString *dateString = [dateFormat stringFromDate: date];   

    return [NSString stringWithFormat: @"前天 %@", [[dateString substringFromIndex: 11] substringToIndex: 5]]; 

  } else {      

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 

      [dateFormat setDateFormat: @"yyyy-MM-dd HH:mm"];     

  return [dateFormat stringFromDate: date];    } }

0 0
原创粉丝点击