• 人性化显示发布时间


    + (NSString *)findendliyTime:(NSString *)dataTime{

        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

        //设置格式 年yyyy 月 MM 日dd 小时hh(HH) 分钟 mm 秒 ss MMM单月 eee周几 eeee星期几 a上午下午

        //与字符串保持一致

        [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

        //现在的时间转换成字符串

        NSDate * nowDate = [NSDate date];

        NSString * noewTime = [formatter stringFromDate:nowDate];

        //参数字符串转化成时间格式

        NSDate * date = [formatter dateFromString:dataTime];

        //参数时间距现在的时间差

        NSTimeInterval time = -[date timeIntervalSinceNow];

        NSLog(@"%f",time);

        //上述时间差输出不同信息

        if (time < 60) {

            return @"刚刚";

            

        }else if (time <3600){

            int minute = time/60;

            NSString * minuteStr = [NSString stringWithFormat:@"%d分钟前",minute];

            return  minuteStr;

            

        }else {

            //如果年不同输出某年某月某日

            if ([[dataTime substringToIndex:4] isEqualToString:[noewTime substringToIndex:4]]) {

                //截取字符串从下标为5开始 2个

                NSRange rangeM = NSMakeRange(5, 2);

                //如果月份不同输出某月某日某时

                if ([[dataTime substringWithRange:rangeM]isEqualToString:[noewTime substringWithRange:rangeM]]) {

                    

                    NSRange rangD = NSMakeRange(8, 2);

                    

                    //如果日期不同输出某日某时

                    if ([[dataTime substringWithRange:rangD]isEqualToString:[noewTime substringWithRange:rangD]]) {

                        NSRange rangeSSD = NSMakeRange(11, 5);

                        NSString * Rstr = [NSString stringWithFormat:@"今日%@",[dataTime substringWithRange:rangeSSD]];

                        return  Rstr;

                    }else{

                        NSRange rangSD = NSMakeRange(5, 5);

                        return [dataTime substringWithRange:rangSD];

                    }

                }else{

                    NSRange rangeSM = NSMakeRange(5,5);

                    return [dataTime substringWithRange:rangeSM];

                }

            }else{

                return [dataTime substringToIndex:10];

            }

        }

    }

  • 相关阅读:
    Retrofit2.0+OkHttp设置统一的请求头(request headers)
    Retrofit、Okhttp使用小记(cookie,accesstoken,POST
    quartz持久化部署实现
    支付宝支付-常用支付API详解(查询、退款、提现等)
    支付宝支付-提现到个人支付宝
    Git 版本还原命令
    CEF JS实现获取剪贴板图片的DataURL
    CEF 自定义用户协议(scheme)实现以二进制流的方式显示图片、视频、音频
    CEF C++调用前端js方法展示传递过来的图片数据
    C++读写图片数据转成Base64格式
  • 原文地址:https://www.cnblogs.com/isItOk/p/4680605.html
Copyright © 2020-2023  润新知