评论了多久前发送的,时间差判断
- (NSString *)timeAgoOrTimeStr:(NSString *)endTime{
if (endTime==nil||[endTime isEqual:[NSNull null]]) {
return @"";
}
@try {
NSDate *nowDate = [NSDate date];
NSDateFormatter *dateFomatter = [[NSDateFormatter alloc] init];
dateFomatter.dateFormat = @"yyyy-MM-dd HH:mm:ss.0";
// 截止时间字符串格式
NSString *expireDateStr = endTime;
// 当前时间字符串格式
NSString *nowDateStr = [dateFomatter stringFromDate:nowDate];
// 截止时间data格式
NSDate *expireDate = [dateFomatter dateFromString:expireDateStr];
// 当前时间data格式
nowDate = [dateFomatter dateFromString:nowDateStr];
// 当前日历
NSCalendar *calendar = [NSCalendar currentCalendar];
// 需要对比的时间数据
NSCalendarUnit unit = NSCalendarUnitHour ;
// 对比时间差
NSDateComponents *dateCom = [calendar components:unit fromDate:expireDate toDate:nowDate options:0];
//11小时前就显示 全字符串
if (dateCom.hour>11) {
if (endTime.length>3) {
return [endTime substringToIndex:endTime.length-3];
}else{
return endTime;
}
}else {
if (dateCom.hour<0) {
return endTime;
}else{
return [NSString stringWithFormat:@"%ld小时前",(long)dateCom.hour];
}
}
} @catch (NSException *exception) {
return endTime;
} @finally {
}
}
//// 需要对比的时间数据
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth
| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;