1 -(NSString *) FormartTime:(NSDate*) compareDate 2 { 3 if( compareDate == nil ) return @""; 4 5 NSTimeInterval timeInterval = [compareDate timeIntervalSinceNow]; 6 timeInterval = -timeInterval; 7 long temp = timeInterval; 8 NSString *result; 9 10 if (timeInterval < 60) {11 if( temp == 0 )12 result = @"刚刚";13 else14 result = [NSString stringWithFormat:@"%d秒前",(int)temp];15 }16 else if(( timeInterval/60) <60){17 result = [NSString stringWithFormat:@"%d分钟前",(int)temp/60];18 }19 20 else if(( temp/86400) <30){21 22 NSDateFormatter *date = [[NSDateFormatter alloc] init];23 [date setDateFormat:@"dd"];24 NSString *str = [date stringFromDate:[NSDate date]];25 int nowday = [str intValue];26 27 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];28 [dateFormatter setDateFormat:@"dd"];29 NSString *strDate = [dateFormatter stringFromDate:compareDate];30 int day = [strDate intValue];31 if (nowday-day==0) {32 //[dateFormatter setDateFormat:@"今天 HH:mm"];33 [dateFormatter setDateFormat:@"HH:mm"];34 result = [dateFormatter stringFromDate:compareDate];35 36 }37 else if(nowday-day==1)38 {39 40 [dateFormatter setDateFormat:@"昨天 HH:mm"];41 // result = [dateFormatter stringFromDate:compareDate];42 result = @"昨天";43 44 }45 46 else if( temp < 8 )47 {48 if (temp==1) {49 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];50 [dateFormatter setDateFormat:@"昨天HH:mm"];51 NSString *strDate = [dateFormatter stringFromDate:compareDate];52 result = strDate;53 }54 else if(temp == 2)55 {56 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];57 [dateFormatter setDateFormat:@"前天HH:mm"];58 NSString *strDate = [dateFormatter stringFromDate:compareDate];59 result = strDate;60 }61 62 }63 else64 {65 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];66 [dateFormatter setDateFormat:@"MM-dd HH:mm"];67 NSString *strDate = [dateFormatter stringFromDate:compareDate];68 result = strDate;69 70 }71 }72 else73 { //超过一个月的就直接显示时间了74 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];75 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];76 NSString *strDate = [dateFormatter stringFromDate:compareDate];77 result = strDate;78 }79 80 /*81 else if((temp = (temp/(3600*24))/30) <12){82 result = [NSString stringWithFormat:@"%d个月前",(int)temp];83 }84 else{85 temp = temp/12;86 result = [NSString stringWithFormat:@"%d年前",(int)temp];87 }88 */89 90 return result;91 }