• 字符串时间转成,昨天,今天,明天格式


    //获取 字符串

    1.

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

        [outputFormatter setLocale:[NSLocale currentLocale]];

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

        NSDate *strDate = [outputFormatter dateFromString:image.beginTime];

        //修正8小时的差时

        NSTimeZone *zone = [NSTimeZone systemTimeZone];

        NSInteger interval = [zone secondsFromGMTForDate: strDate];

        NSDate *endDate = [strDate  dateByAddingTimeInterval: interval];

        NSString *lastTime = [self compareDate:endDate];

    //给字符串所在的控件赋值,一般在setmodel中赋值显示

       self.timelabel.text = [NSString stringWithFormat:@"%@开播",lastTime];

    //调用方法compareDate方法

    -(NSString *)compareDate:(NSDate *)date{

        

        NSTimeInterval secondsPerDay = 24 * 60 * 60;

        

        //修正8小时之差

        NSDate *date1 = [NSDate date];

        NSTimeZone *zone = [NSTimeZone systemTimeZone];

        NSInteger interval = [zone secondsFromGMTForDate: date1];

        NSDate *localeDate = [date1  dateByAddingTimeInterval: interval];

        

        //NSLog(@"nowdate=%@ olddate = %@",localeDate,date);

        NSDate *today = localeDate;

        NSDate *yesterday,*beforeOfYesterday;

        //今年

        NSString *toYears;

        

        toYears = [[today description] substringToIndex:4];

        

        yesterday = [today dateByAddingTimeInterval: secondsPerDay];

        beforeOfYesterday = [yesterday dateByAddingTimeInterval: secondsPerDay];

        

        NSString *todayString = [[today description] substringToIndex:10];

        NSString *yesterdayString = [[yesterday description] substringToIndex:10];

        NSString *beforeOfYesterdayString = [[beforeOfYesterday description] substringToIndex:10];

        

        NSString *dateString = [[date description] substringToIndex:10];

        NSString *dateYears = [[date description] substringToIndex:4];

        

        NSString *dateContent;

        if ([dateYears isEqualToString:toYears]) {//同一年

            //今 昨 前天的时间

            NSString *time = [[date description] substringWithRange:(NSRange){11,5}];

            //其他时间

            NSString *time2 = [[date description] substringWithRange:(NSRange){5,11}];

            if ([dateString isEqualToString:todayString]){

                dateContent = [NSString stringWithFormat:@"今天 %@",time];

                return dateContent;

            } else if ([dateString isEqualToString:yesterdayString]){

                dateContent = [NSString stringWithFormat:@"明天 %@",time];

                return dateContent;

            }else if ([dateString isEqualToString:beforeOfYesterdayString]){

                dateContent = [NSString stringWithFormat:@"前天 %@",time];

                return dateContent;

            }else{

                return time2;

            }

        }else{

            return dateString;

        }

    }

  • 相关阅读:
    mybatis框架查询用户表中的记录数
    文件的上传和下载
    怎样在一条sql语句中将第一列和第二列加和的值作为第三列的值
    [OS] 进程的虚地址空间
    [网络] TCP/IP协议族各层的协议汇总
    [面试] C++ 虚函数表解析
    [OS] 堆栈、堆、数据段、代码段
    [算法] 并查集概念及其实现
    [OS] 我与大牛的对话!
    [C] int *p[4]与int (*q)[4]的区别
  • 原文地址:https://www.cnblogs.com/whx060900/p/10266926.html
Copyright © 2020-2023  润新知