美文网首页ios实用开发技巧
iOS 朋友圈、空间等时间显示

iOS 朋友圈、空间等时间显示

作者: 天明依旧 | 来源:发表于2016-03-09 10:25 被阅读580次

    + (NSString *)distanceTimeWithBeforeTime:(double)beTime

    {

    NSTimeInterval now = [[NSDate date]timeIntervalSince1970];

    double distanceTime = now - beTime;

    NSString * distanceStr;

    NSDate * beDate = [NSDate dateWithTimeIntervalSince1970:beTime];

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

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

    NSString * timeStr = [df stringFromDate:beDate];

    [df setDateFormat:@"dd"];

    NSString * nowDay = [df stringFromDate:[NSDate date]];

    NSString * lastDay = [df stringFromDate:beDate];

    if (distanceTime < 60) {//小于一分钟

    distanceStr = @"刚刚";

    }

    else if (distanceTime < 60*60) {//时间小于一个小时

    distanceStr = [NSString stringWithFormat:@"%ld分钟前",(long)distanceTime/60];

    }

    else if(distanceTime < 24*60*60 && [nowDay integerValue] == [lastDay integerValue]){//时间小于一天

    distanceStr = [NSString stringWithFormat:@"今天 %@",timeStr];

    }

    else if(distanceTime< 24*60*60*2 && [nowDay integerValue] != [lastDay integerValue]){

    if ([nowDay integerValue] - [lastDay integerValue] == 1 || ([lastDay integerValue] - [nowDay integerValue] > 10 && [nowDay integerValue] == 1)) {

    distanceStr = [NSString stringWithFormat:@"昨天 %@",timeStr];

    }

    else{

    [df setDateFormat:@"MM-dd HH:mm"];

    distanceStr = [df stringFromDate:beDate];

    }

    }

    else if(distanceTime < 24*60*60*365){

    [df setDateFormat:@"MM-dd HH:mm"];

    distanceStr = [df stringFromDate:beDate];

    }

    else{

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

    distanceStr = [df stringFromDate:beDate];

    }

    return distanceStr;

    }

    相关文章

      网友评论

        本文标题:iOS 朋友圈、空间等时间显示

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