1111
//方式一 后台给的格式为yyyy-MM-dd HH:mm:ss.SSS- (NSString *) compareCurrentTime:(NSString *)str{ //把字符串转为NSdate NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *timeDate = [dateFormatter dateFromString:str]; NSDate *currentDate = [NSDate date]; //得到两个时间差 NSTimeInterval timeInterval = [currentDate timeIntervalSinceDate:timeDate]; long temp = 0; NSString *result; if (timeInterval/60 < 1) { result = [NSString stringWithFormat:@"刚刚"]; } else if((temp = timeInterval/60) <60){ result = [NSString stringWithFormat:@"%ld分钟前",temp]; } else if((temp = temp/60) <24){ result = [NSString stringWithFormat:@"%ld小时前",temp]; } else if((temp = temp/24) <30){ result = [NSString stringWithFormat:@"%ld天前",temp]; } else if((temp = temp/30) <12){ result = [NSString stringWithFormat:@"%ld月前",temp]; } else{ temp = temp/12; result = [NSString stringWithFormat:@"%ld年前",temp]; } return result;}
//方式二 后台给的格式为 纯数字1352170595000(13位)- (NSString *)updateTimeForRow:(NSString *)str { // 获取当前时时间戳 1466386762.345715 十位整数 6位小数 NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970]; // 创建歌曲时间戳(后台返回的时间 一般是13位数字) NSTimeInterval createTime =[str floatValue]/1000; // 时间差 NSTimeInterval time = currentTime - createTime; //秒转分钟 NSInteger small = time / 60; if (small == 0) { return [NSString stringWithFormat:@"刚刚"]; } if (small < 60) { return [NSString stringWithFormat:@"%ld分钟前",small]; } // 秒转小时 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];}