直接上代碼
- (NSString *)formateDate:(NSString *)dateString withFormate:(NSString *) formate
{
@try {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:formate];
NSDate * nowDate = [NSDate date];
NSDate * needFormatDate = [dateFormatter dateFromString:dateString];
NSTimeInterval time = [nowDate timeIntervalSinceDate:needFormatDate];
//// 再然後,把間隔的秒數折算成天數和小時數:
NSString *dateStr = @"";
if (time<=60) { // 1分鐘以內的
dateStr = @"剛剛";
}else if(time<=60*60){ // 一個小時以內的
int mins = time/60;
dateStr = [NSString stringWithFormat:@"%d分鐘前",mins];
}else if(time<=60*60*24){ // 在兩天內的
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString * need_yMd = [dateFormatter stringFromDate:needFormatDate];
NSString *now_yMd = [dateFormatter stringFromDate:nowDate];
[dateFormatter setDateFormat:@"HH:mm"];
if ([need_yMd isEqualToString:now_yMd]) {
// 在同一天
dateStr = [NSString stringWithFormat:@"今天 %@",[dateFormatter stringFromDate:needFormatDate]];
NSLog(@"%@", dateStr);
}else{
// 昨天
dateStr = [NSString stringWithFormat:@"昨天 %@",[dateFormatter stringFromDate:needFormatDate]];
}
}else {
[dateFormatter setDateFormat:@"yyyy"];
NSString * yearStr = [dateFormatter stringFromDate:needFormatDate];
NSString *nowYear = [dateFormatter stringFromDate:nowDate];
if ([yearStr isEqualToString:nowYear]) {
// 在同一年
[dateFormatter setDateFormat:@"MM月dd日"];
dateStr = [dateFormatter stringFromDate:needFormatDate];
}else{
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
dateStr = [dateFormatter stringFromDate:needFormatDate];
}
}
return dateStr;
}
@catch (NSException *exception) {
return @"";
}
}