IOS发表文章需要显示的时间与当前时间的比较

// 用于判断时间的方法
- (NSString *)judgeTheNowTimeWithCreateTime:(NSString *)createTime
{
    // 用于最后返回的时间
    NSString *time = nil;
    
    // 获取服务器上保存的小时          例如服务器上保存的格式为:2018-01-11 11:54:35
    NSString *createHour = [createTime substringWithRange: NSMakeRange(11, 2)];
    // 获取分钟
    NSString *createMinute = [createTime substringWithRange:NSMakeRange(14, 2)];
    // 获取年月日
    NSString *createDay = [createTime substringWithRange:NSMakeRange(0, 10)];
    
    // 获取当前本地时间
    NSDate *nowDate = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    // 获取本地的小时
    dateFormatter.dateFormat = @"HH";
    NSString *nowHour = [dateFormatter stringFromDate:nowDate];
    
    // 获取本地的分钟
    dateFormatter.dateFormat = @"mm";
    NSString *nowMinute = [dateFormatter stringFromDate:nowDate];
    
    // 获取本地的年月日
    dateFormatter.dateFormat = @"yyyy-MM-dd";
    NSString *nowDay = [dateFormatter stringFromDate:nowDate];
    
    // 判断
    // 首先判断服务器上保存的年月日与本地时间年月日是否匹配,如果不匹配,则直接返回服务器上的时间,没有如朋友圈一样判断到昨天,如需要改功能可添加即可
    if ([createDay isEqualToString:nowDay]) {
        // 判断当前小时 - 创建小时后,如果返回0则说明在当前小时内,所以用分钟去返回
        if ([nowHour intValue] - [createHour intValue] == 0) {
            time = [NSString stringWithFormat:@"%d分钟前", ([nowMinute intValue] - [createMinute intValue])];
        } else {
            // 如果不为0再去判断是否在12个小时内,如果超过12个小时则直接返回创建时间,规则根据个人要求去设定
            int hour = [nowHour intValue] - [createHour intValue];
            if (hour < 12) {
                time = [NSString stringWithFormat:@"%d小时前", hour];
            }
        }
    } else {
        // 不符合所需要的规则的话直接返回服务器上的时间即可
        time = createTime;
    }
    
    return time;
}

方法需要传一个参数以及返回一个参数,我们只需要把服务器上保存的时间传进来,然后再返回出我们所需要的时间即可.

作为一个刚进入职场的新人,在这里保存下自己项目中所需要用到的方法,第一可分享给正好需要的人,第二保存自己的代码痕迹,日后如需用到则很方便使用,如有更简便的方式欢迎讨论,大牛勿喷

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值