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开发者能带来一定的帮助,如果有疑问大家可以留言交流。
