时间差获取

2017-07-28  本文已影响52人  EnjoyWT

评论了多久前发送的,时间差判断

- (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;
上一篇 下一篇

猜你喜欢

热点阅读