时间戳转换为近距离时间状态

简单时间戳转换

- (NSString *)timeFromTimeStep:(NSString *)timesStamp
{
    // 格式化时间
    NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
    formatter.timeZone = [NSTimeZone timeZoneWithName:@"shanghai"];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"MM-dd HH:mm"];
    
    // 毫秒值转化为秒/1000,本身为秒则不除1000
    NSDate * date = [NSDate dateWithTimeIntervalSince1970:[timesStamp doubleValue]];
    NSString *dateString = [formatter stringFromDate:date];
    return dateString;
}

时间戳转换为近距离时间状态

+ (NSString *)timeTextWithTimesStamp:(double)timesStamp
{
    NSTimeInterval now = [[NSDate date]timeIntervalSince1970];
    double distanceTime = now - timesStamp;
    NSString * distanceStr;
    
    NSDate * beDate = [NSDate dateWithTimeIntervalSince1970:timesStamp];
    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:@"%ld小时前",(long)distanceTime/60/60];
    }
    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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,853评论 18 139
  • R·阅读原文片段 《即战力》,155页 思考问题的层次 他们在接受了“只要不输就行”,“1:0主义”的影响后,变得...
    张美老师阅读 476评论 2 1
  • 园中闲逛,柿子树上的一枚果实在阳光里散发着熟透的光,忽而已深秋啊,树叶金灿灿铺了一地,凋零的非常惆怅也非常亲切,心...
    时光散落在人间阅读 429评论 4 7
  • 我们每个人都生活在同一个世界,同一个社会,但每个人所经历的都不一样。有的人被情所伤,有的人因财困惑,有的人因事业不...
    姗姗来迟_阅读 463评论 0 0
  • A:XX,我们有空去唱K吧。 B:不要!我是忙人。哈哈,我是忙人,盲人。 A:你不是盲人,你明明是瞎人,瞎人,你这...
    一只不爱爬树的考拉阅读 723评论 0 3