处理时间


- (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;
    }
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容