iOS实现时间显示几分钟前,几小时前以及刚刚的方法示例
前言
本文实现的效果类似于QQ空间里的好友发表的动态,会显示好友发表的时间,这里是处理显示几小时前,几分钟前,刚刚,昨天,前天这样的格式,下面来一起看看吧。
一:刚刚,几分钟前,几小时前
//时间 NSString*createdTimeStr=@"2017-01-0121:05:10"; //把字符串转为NSdate NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init]; [dateFormattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"]; NSDate*timeDate=[dateFormatterdateFromString:createdTimeStr]; //得到与当前时间差 NSTimeIntervaltimeInterval=[timeDatetimeIntervalSinceNow]; timeInterval=-timeInterval; longtemp=0; NSString*result; if(timeInterval<60){ result=[NSStringstringWithFormat:@"刚刚"]; }elseif((temp=timeInterval/60)<60){ result=[NSStringstringWithFormat:@"%ld分钟前",temp]; }elseif((temp=timeInterval/3600)>1&&(temp=timeInterval/3600)<24){ result=[NSStringstringWithFormat:@"%ld小时前",temp]; }else{ result=createdTimeStr; } NSLog(@"%@",result);
二:刚刚,几分钟前,几小时前,昨天,前天
//时间 NSString*createdTimeStr=@"2017-01-0121:05:10"; //把字符串转为NSdate NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init]; [dateFormattersetDateFormat:@"yyyy-MM-ddHH:mm:ss"]; NSDate*timeDate=[dateFormatterdateFromString:createdTimeStr]; //得到与当前时间差 NSTimeIntervaltimeInterval=[timeDatetimeIntervalSinceNow]; timeInterval=-timeInterval; longtemp=0; NSString*result; if(timeInterval<60){ result=[NSStringstringWithFormat:@"刚刚"]; }elseif((temp=timeInterval/60)<60){ result=[NSStringstringWithFormat:@"%ld分钟前",temp]; }elseif((temp=timeInterval/3600)>1&&(temp=timeInterval/3600)<24){ result=[NSStringstringWithFormat:@"%ld小时前",temp]; }elseif((temp=timeInterval/3600)>24&&(temp=timeInterval/3600)<48){ result=[NSStringstringWithFormat:@"昨天"]; }elseif((temp=timeInterval/3600)>48&&(temp=timeInterval/3600)<72){ result=[NSStringstringWithFormat:@"前天"]; }else{ result=createdTimeStr; } NSLog(@"%@",result);
总结
以上就是这篇文字的全部内容了,希望本文的内容对各位iOS开发者能带来一定的帮助,如果有疑问大家可以留言交流。