美文网首页
项目中时间规则

项目中时间规则

作者: iOS界的五五开 | 来源:发表于2017-05-04 11:01 被阅读15次

    在项目中经常会遇到时间的规则
    例如:
    时间规则(所有时间最小到分钟级别):
    时间<1小时时,显示X分钟前;
    1小时<=时间<1天时,显示x小时前;

    1天<=时间<20天,显示(昨天、1天前、2天前....20天前);
    20天<=时间,显示日期

    这里涉及到一个时间戳的问题。如果想完成这样类似的功能 需要后台提供时间戳。

    第一步:获取当前的时间戳
    NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
    第二步:返回后台的时间戳
    NSTimeInterval createTime = model.timestamp; (注:model.timestamp 是后台返回的数据)
    第三步:时间差

    NSTimeInterval time = currentTime - createTime;
    ...
    其实时间差 就是 秒数了
    剩下的就是自己去换算了
    //秒转分钟

    NSInteger minute = time/60;
    if (minute < 60) {
        return [NSString stringWithFormat:@"%ld分钟前",minute];
    }
    // 秒转小时
    NSInteger hours = time/3600;
    if (hours<24) {
        return [NSString stringWithFormat:@"%ld小时前",hours];
    }
    //秒转天数
    NSInteger days = time/3600/24;
    if (days < 20) {
        return [NSString stringWithFormat:@"%ld天前",days];
    }else{
        
        return [NSString stringWithFormat:@"%@",model.createtime];
    }
    

    ...

    相关文章

      网友评论

          本文标题:项目中时间规则

          本文链接:https://www.haomeiwen.com/subject/hvurtxtx.html