iOS实现时间显示几分钟前,几小时前以及刚刚的方法示例
程序员文章站
2023-12-22 09:06:40
前言
本文实现的效果类似于qq空间里的好友发表的动态,会显示好友发表的时间,这里是处理显示几小时前,几分钟前,刚刚,昨天,前天这样的格式,下面来一起看看吧。
一:刚...
前言
本文实现的效果类似于qq空间里的好友发表的动态,会显示好友发表的时间,这里是处理显示几小时前,几分钟前,刚刚,昨天,前天这样的格式,下面来一起看看吧。
一:刚刚,几分钟前,几小时前
//时间 nsstring *createdtimestr = @"2017-01-01 21:05:10"; //把字符串转为nsdate nsdateformatter *dateformatter = [[nsdateformatter alloc] init]; [dateformatter setdateformat:@"yyyy-mm-dd hh:mm:ss"]; nsdate *timedate = [dateformatter datefromstring:createdtimestr]; //得到与当前时间差 nstimeinterval timeinterval = [timedate timeintervalsincenow]; timeinterval = -timeinterval; long temp = 0; nsstring *result; if (timeinterval < 60) { result = [nsstring stringwithformat:@"刚刚"]; }else if((temp = timeinterval/60) < 60){ result = [nsstring stringwithformat:@"%ld分钟前",temp]; }else if((temp = timeinterval/3600) > 1 && (temp = timeinterval/3600) <24){ result = [nsstring stringwithformat:@"%ld小时前",temp]; }else{ result = createdtimestr; } nslog(@"%@",result);
二:刚刚,几分钟前,几小时前,昨天,前天
//时间 nsstring *createdtimestr = @"2017-01-01 21:05:10"; //把字符串转为nsdate nsdateformatter *dateformatter = [[nsdateformatter alloc] init]; [dateformatter setdateformat:@"yyyy-mm-dd hh:mm:ss"]; nsdate *timedate = [dateformatter datefromstring:createdtimestr]; //得到与当前时间差 nstimeinterval timeinterval = [timedate timeintervalsincenow]; timeinterval = -timeinterval; long temp = 0; nsstring *result; if (timeinterval < 60) { result = [nsstring stringwithformat:@"刚刚"]; }else if((temp = timeinterval/60) < 60){ result = [nsstring stringwithformat:@"%ld分钟前",temp]; }else if((temp = timeinterval/3600) > 1 && (temp = timeinterval/3600) <24){ result = [nsstring stringwithformat:@"%ld小时前",temp]; }else if ((temp = timeinterval/3600) > 24 && (temp = timeinterval/3600) < 48){ result = [nsstring stringwithformat:@"昨天"]; }else if ((temp = timeinterval/3600) > 48 && (temp = timeinterval/3600) < 72){ result = [nsstring stringwithformat:@"前天"]; }else{ result = createdtimestr; } nslog(@"%@",result);
总结
以上就是这篇文字的全部内容了,希望本文的内容对各位ios开发者能带来一定的帮助,如果有疑问大家可以留言交流。