美文网首页
iOS时间戳 从1970到现在 NSDate时间转换,距现在发布

iOS时间戳 从1970到现在 NSDate时间转换,距现在发布

作者: CreateTian | 来源:发表于2018-01-10 11:49 被阅读0次

    项目用到了从服务器返回距离1970年多少秒的发布的数据,然后计算多少当前时间距离消息发布的时间,1分钟以内显示几秒前,1小时以内显示几分钟前,1天以内显示几小时前,超过一天则显示具体日期,这是需求。

    为此我做了一个 NSDate的扩展类,分享给大家
    
    #import "NSDate+Extention.h"
    @implementation NSDate (Extention)`
    
    + (NSString *)nowFromDateExchange:(int)oldTime {//oldTime 为服务器返回的发布消息时间距离1970年多少秒
        
    //    计算现在距1970年多少秒
        NSDate *date = [NSDate date];
        NSTimeInterval currentTime= [date timeIntervalSince1970];
        
    //    计算现在的时间和发布消息的时间时间差
        double timeDiffence = currentTime - oldTime;
        
    //    根据秒数的时间差的不同,返回不同的日期格式
        if (timeDiffence <= 60) {
            return [NSString stringWithFormat:@"%.0f 秒前",timeDiffence];
        }else if (timeDiffence <= 3600){
            return [NSString stringWithFormat:@"%.0f 分钟前",timeDiffence / 60];
        }else if (timeDiffence <= 86400){
            return [NSString stringWithFormat:@"%.0f 小时前",timeDiffence / 3600];
        }else if (timeDiffence <= 604800){
            return [NSString stringWithFormat:@"%.0f 天前",timeDiffence / 3600 /24];
        }else{
            //    返回具体日期
            NSDate *oldTimeDate = [NSDate dateWithTimeIntervalSince1970:oldTime];
            
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            [formatter setDateFormat:@"yyyy-MM-dd"];
            return [formatter stringFromDate:oldTimeDate];
        }
    }
    
    @end
    

    转载链接:https://www.jianshu.com/p/c24f4e13e82a

    相关文章

      网友评论

          本文标题:iOS时间戳 从1970到现在 NSDate时间转换,距现在发布

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