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 else
14 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 else
64 {
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 else
73 {//超过一个月的就直接显示时间了
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 }