清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
//这个方法写在.h文件里面方便调用 +(NSString *)getMessageDateStringFromTimeInterval:(NSTimeInterval)TimeInterval andNeedTime:(BOOL)needTime { NSDate *date = [NSDate dateWithTimeIntervalSince1970:TimeInterval]; return [MTChatTimeFormateTool getMessageDateString:date andNeedTime:needTime]; } + (NSString*)getMessageDateString:(NSDate*)messageDate andNeedTime:(BOOL)needTime { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setLocale:[NSLocale systemLocale]]; [formatter setTimeZone:[NSTimeZone systemTimeZone]]; [formatter setDateFormat:@"YYYY/MM/dd HH:mm"]; NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *components = [cal components:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit fromDate:messageDate]; NSDate *msgDate = [cal dateFromComponents:components]; NSString*weekday = [MTChatTimeFormateTool getWeekdayWithNumber:components.weekday]; components = [cal components:NSEraCalendarUnit|NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit fromDate:[NSDate date]]; NSDate *today = [cal dateFromComponents:components]; if([today isEqualToDate:msgDate]){ if (needTime) { [formatter setDateFormat:@"今天 HH:mm"]; } else{ [formatter setDateFormat:@"今天"]; } return [formatter stringFromDate:messageDate]; } components.day -= 1; NSDate *yestoday = [cal dateFromComponents:components]; if([yestoday isEqualToDate:msgDate]){ if (needTime) { [formatter setDateFormat:@"昨天 HH:mm"]; } else{ [formatter setDateFormat:@"昨天"]; } return [formatter stringFromDate:messageDate]; } for (int i = 1; i <= 6; i++) { components.day -= 1; NSDate *nowdate = [cal dateFromComponents:components]; if([nowdate isEqualToDate:msgDate]){ if (needTime) { [formatter setDateFormat:[NSString stringWithFormat:@"%@ HH:mm",weekday]]; } else{ [formatter setDateFormat:[NSString stringWithFormat:@"%@",weekday]]; } return [formatter stringFromDate:messageDate]; } } while (1) { components.day -= 1; NSDate *nowdate = [cal dateFromComponents:components]; if ([nowdate isEqualToDate:msgDate]) { if (!needTime) { [formatter setDateFormat:@"YYYY/MM/dd"]; } return [formatter stringFromDate:messageDate]; break; } } } //1代表星期日、如此类推 +(NSString *)getWeekdayWithNumber:(int)number { switch (number) { case 1: return @"星期日"; break; case 2: return @"星期一"; break; case 3: return @"星期二"; break; case 4: return @"星期三"; break; case 5: return @"星期四"; break; case 6: return @"星期五"; break; case 7: return @"星期六"; break; default: return @""; break; } }