iOS-OC根据时间戳获取距离现在的状态(刚刚,分钟前,今天,昨天)

- (NSString*)distanceTimeWithBeforeTime:(double)beTime

{

NSTimeIntervalnow = [[NSDatedate]timeIntervalSince1970];

doubledistanceTime = now - beTime;

NSString* distanceStr;

NSDate* beDate = [NSDatedateWithTimeIntervalSince1970:beTime];

NSDateFormatter* df = [[NSDateFormatteralloc]init];

[dfsetDateFormat:@"HH:mm"];

NSString* timeStr = [dfstringFromDate:beDate];

[dfsetDateFormat:@"dd"];

NSString* nowDay = [dfstringFromDate:[NSDatedate]];

NSString* lastDay = [dfstringFromDate:beDate];

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

distanceStr =@"刚刚";

}

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

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

}

elseif(distanceTime <24*60*60&& [nowDayintegerValue] == [lastDayintegerValue]){//时间小于一天

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

}

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

if([nowDayintegerValue] - [lastDayintegerValue] ==1|| ([lastDayintegerValue] - [nowDayintegerValue] >10&& [nowDayintegerValue] ==1)) {

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

}

else{

[dfsetDateFormat:@"MM-dd HH:mm"];

distanceStr = [dfstringFromDate:beDate];

}

}

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

[dfsetDateFormat:@"MM-dd HH:mm"];

distanceStr = [dfstringFromDate:beDate];

}

else{

[dfsetDateFormat:@"yyyy-MM-dd HH:mm"];

distanceStr = [dfstringFromDate:beDate];

}

returndistanceStr;

}

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

相关阅读更多精彩内容

友情链接更多精彩内容