处理时间


- (NSString *)creTime {

    // 业务逻辑
    /*一、今年
     1.今天
     1> 时间差距 < 1分钟
     * 返回:@"刚刚"
     2> 1分钟 =< 时间差距 <= 59分钟
     * 返回:@"xx分钟前"
     3> 时间差距 >= 1小时
     * 返回:@"xx小时前"
     2.昨天
     * 返回:@"昨天 18:06:56"
     3.其它
     * 返回:@"08-07 18:06:56"
     二、非今年
     * 返回:@"2014-08-07 18:06:56"
     */
    
    // 日期格式化类
    NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
    
    // 设置日期格式(y:年,M:月,d:日,H:时,m:分,s:秒)
    fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    
    // 帖子的创建时间
    NSDate *create = [fmt dateFromString:_creTime];
    
    if (create.isThisYear) { // 今年
        if (create.isToday) { // 今天
            NSDateComponents *cmps = [create deltaWithNow];
            if (cmps.hour >= 1) { // 时间差距 >= 1小时
                return [NSString stringWithFormat:@"%zd小时前", cmps.hour];
            } else if (cmps.minute >= 1) { // 1小时 > 时间差距 >= 1分钟
                return [NSString stringWithFormat:@"%zd分钟前", cmps.minute];
            } else { // 1分钟 > 时间差距
                return @"刚刚";
            }
        } else if (create.isYesterday) { // 昨天
            fmt.dateFormat = @"昨天 HH:mm:ss";
            return [fmt stringFromDate:create];
        } else { // 其他
            fmt.dateFormat = @"MM-dd HH:mm:ss";
            return [fmt stringFromDate:create];
        }
    } else { // 非今年
        return _creTime;
    }
}


你可能感兴趣的:(处理时间)