时间戳 转 时间 处理

#pragma mark时间处理

+ (NSString*)distanceTimeWithBeforeTime:(double)beTime {

NSTimeInterval now = [[NSDate date] timeIntervalSince1970];

double distanceTime = now - beTime;

NSString* distanceStr;

NSDate* beDate = [NSDate dateWithTimeIntervalSince1970:beTime];

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

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

NSString* timeStr = [dataFormatter stringFromDate:beDate];

[dataFormatter setDateFormat:@"dd"];

NSString* nowDay = [dataFormatter stringFromDate:[NSDatedate]];

NSString* lastDay = [dataFormatter stringFromDate:beDate];

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

distanceStr =@"刚刚";

}

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

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

}

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

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

}

elseif(distanceTime<24*60*60*2&& [nowDayintegerValue] != [lastDay integerValue]){

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

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

}

else{

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

distanceStr = [dataFormatter stringFromDate:beDate];

}

}

elseif(distanceTime <24*60*60*365){

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

distanceStr = [dataFormatter stringFromDate:beDate];

}

else{

[dataFormatter setDateFormat:@"YYYY-MM-dd HH:mm"];//--设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制

distanceStr = [dataFormatter stringFromDate:beDate];

}

return distanceStr;

}

调用

NSString* createdAt = [self distanceTimeWithBeforeTime:""[@"created_at"]doubleValue]];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容