iOS计算时间,刚刚,几分钟前,几小时前

直接上代码


- (NSString *)formateDate:(NSString *)dateString withFormate:(NSString *) formate

{

    

    @try {

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

        [dateFormatter setDateFormat:formate];

        

        NSDate * nowDate = [NSDate date];

        

        NSDate * needFormatDate = [dateFormatter dateFromString:dateString];

        NSTimeInterval time = [nowDate timeIntervalSinceDate:needFormatDate];

        

        //// 再然后,把间隔的秒数折算成天数和小时数:

        

        NSString *dateStr = @"";

        

        if (time<=60) {  // 1分钟以内的

            

            dateStr = @"刚刚";

        }else if(time<=60*60){  //  一个小时以内的

            

            int mins = time/60;

            dateStr = [NSString stringWithFormat:@"%d分钟前",mins];

            

        }else if(time<=60*60*24){   // 在两天内的

            

            [dateFormatter setDateFormat:@"YYYY-MM-dd"];

            NSString * need_yMd = [dateFormatter stringFromDate:needFormatDate];

            NSString *now_yMd = [dateFormatter stringFromDate:nowDate];

            

            [dateFormatter setDateFormat:@"HH:mm"];

            if ([need_yMd isEqualToString:now_yMd]) {

                // 在同一天

                dateStr = [NSString stringWithFormat:@"今天 %@",[dateFormatter stringFromDate:needFormatDate]];

                NSLog(@"%@", dateStr);

            }else{

                //  昨天

                dateStr = [NSString stringWithFormat:@"昨天 %@",[dateFormatter stringFromDate:needFormatDate]];

            }

        }else {

            

            [dateFormatter setDateFormat:@"yyyy"];

            NSString * yearStr = [dateFormatter stringFromDate:needFormatDate];

            NSString *nowYear = [dateFormatter stringFromDate:nowDate];

            

            if ([yearStr isEqualToString:nowYear]) {

                //  在同一年

                [dateFormatter setDateFormat:@"MMdd"];

                dateStr = [dateFormatter stringFromDate:needFormatDate];

            }else{

                [dateFormatter setDateFormat:@"yyyy-MM-dd"];

                dateStr = [dateFormatter stringFromDate:needFormatDate];

            }

            

        }

        

        return dateStr;

    }

    @catch (NSException *exception) {

        return @"";

    }

    

    

}


展开阅读全文

没有更多推荐了,返回首页