时间戳

方法一后台给的是yyyy-MM-dd HH:mm:ss.SSS

+ (NSString *)timeInfoWithDateString:(NSString *)dateString {  
  // 把日期字符串格式化为日期对象  
  NSDate *date = [NSDate dateFromString:dateString withFormat:@"yyyy-MM-dd HH:mm:ss"];  
    
  NSDate *curDate = [NSDate date];  
  NSTimeInterval time = -[date timeIntervalSinceDate:curDate];  
    
  int month = (int)([curDate getMonth] - [date getMonth]);  
  int year = (int)([curDate getYear] - [date getYear]);  
  int day = (int)([curDate getDay] - [date getDay]);  
    
  NSTimeInterval retTime = 1.0;  
  // 小于一小时  
  if (time < 3600) {  
    retTime = time / 60;  
    retTime = retTime <= 0.0 ? 1.0 : retTime;  
    return [NSString stringWithFormat:@"%.0f分钟前", retTime];  
  }  
  // 小于一天,也就是今天  
  else if (time < 33600 * 24) {  
    retTime = time / 3600;  
    retTime = retTime <= 0.0 ? 1.0 : retTime;  
    return [NSString stringWithFormat:@"%.0f小时前", retTime];  
  }  
  // 昨天  
  else if (time < 33600 * 224 * 2) {  
    return @"昨天";  
  }  
  // 第一个条件是同年,且相隔时间在一个月内  
  // 第二个条件是隔年,对于隔年,只能是去年12月与今年1月这种情况  
  else if ((abs(year) == 0 && abs(month) <= 1)  
           || (abs(year) == 1 && [curDate getMonth] == 1 && [date getMonth] == 12)) {  
    int retDay = 0;  
    // 同年  
    if (year == 0) {  
      // 同月  
      if (month == 0) {  
        retDay = day;  
      }  
    }  
      
    if (retDay <= 0) {  
      // 这里按月最大值来计算  
      // 获取发布日期中,该月总共有多少天  
      int totalDays = [NSDate daysInMonth:(int)[date getMonth] year:(int)[date getYear]];  
      // 当前天数 + (发布日期月中的总天数-发布日期月中发布日,即等于距离今天的天数)  
      retDay = (int)[curDate getDay] + (totalDays - (int)[date getDay]);  
        
      if (retDay >= totalDays) {  
        return [NSString stringWithFormat:@"%d个月前", (abs)(MAX(retDay / 31, 1))];  
      }  
    }  
      
    return [NSString stringWithFormat:@"%d天前", (abs)(retDay)];  
  } else  {  
    if (abs(year) <= 1) {  
      if (year == 0) { // 同年  
        return [NSString stringWithFormat:@"%d个月前", abs(month)];  
      }  
        
      // 相差一年  
      int month = (int)[curDate getMonth];  
      int preMonth = (int)[date getMonth];  
        
      // 隔年,但同月,就作为满一年来计算  
      if (month == 12 && preMonth == 12) {  
        return @"1年前";  
      }  
        
      // 也不看,但非同月  
      return [NSString stringWithFormat:@"%d个月前", (abs)(12 - preMonth + month)];  
    }  
      
    return [NSString stringWithFormat:@"%d年前", abs(year)];  
  }  
    
  return @"1小时前";  
}  

方式二 后台给的格式为 纯数字23413423423

/** 通过行数, 返回更新时间 */
- (NSString *)updateTimeForRow:(NSInteger)row {
    // 获取当前时时间戳
    NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
    // 创建歌曲时间戳
     NSTimeInterval createTime = self.model.tracks.list[row].createdAt/1000;
    // 时间差
    NSTimeInterval time = currentTime - createTime;

    // 秒转小时
    NSInteger hours = time/3600;
    if (hours<24) {
        return [NSString stringWithFormat:@"%ld小时前",hours];
    }
    //秒转天数
    NSInteger days = time/3600/24;
    if (days < 30) {
        return [NSString stringWithFormat:@"%ld天前",days];
    }
    //秒转月
    NSInteger months = time/3600/24/30;
    if (months < 12) {
        return [NSString stringWithFormat:@"%ld月前",months];
    }
    //秒转年
    NSInteger years = time/3600/24/30/12;
    return [NSString stringWithFormat:@"%ld年前",years];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,271评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,725评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,252评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,634评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,549评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,985评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,471评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,128评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,257评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,233评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,235评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,940评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,528评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,623评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,858评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,245评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,790评论 2 339

推荐阅读更多精彩内容