iOS实现时间显示几分钟前,几小时前以及刚刚的方法示例

 更新时间:2017年01月04日 11:40:44   投稿:daisy  
这篇文章主要介绍了如何利用iOS实现时间显示是在几小时前,几分钟前以及刚刚的格式,类似大家在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开发者能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • iOS App开发中使cell高度自适应的黑魔法详解

    iOS App开发中使cell高度自适应的黑魔法详解

    这篇文章主要介绍了iOS App开发中使cell高度自适应的黑魔法详解,作者利用iOS8以后的新特性讲解了TableView、CollectionView中的cell高度自适应以及UITextView输入内容实时更新cell高度的方法,需要的朋友可以参考下
    2016-03-03
  • iOS实现手势密码功能

    iOS实现手势密码功能

    这篇文章主要为大家详细介绍了iOS实现手势密码功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • iOS开发中指纹识别简单介绍

    iOS开发中指纹识别简单介绍

    指纹识别是在iOS8.0以后才推出的,所以我们如果想把指纹集成到我们的APP当中,我们首先就要在代码中判断iOS版本。接下来通过本文给大家分享iOS开发中指纹识别简单介绍,需要的朋友参考下吧
    2017-11-11
  • IOS 远程通知兼容(IOS7,IOS8)实例详解

    IOS 远程通知兼容(IOS7,IOS8)实例详解

    这篇文章主要介绍了IOS 远程通知兼容(IOS7,IOS8)实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • iOS 定制多样式二维码

    iOS 定制多样式二维码

    最常见的二维码功能包括信息获取、网站跳转、电商交易、手机支付等等,其拥有密度小、信息容量大、容错能力强、成本低、制作难度低等优点。在移动开发中,二维码的地位也越来越重要,掌握二维码的基本操作是重要的本领之一。本文将讲解iOS定制二维码的步骤与方法。
    2017-03-03
  • IOS ObjectC与javascript交互详解及实现代码

    IOS ObjectC与javascript交互详解及实现代码

    这篇文章主要介绍了IOS OC与js交互详解及实现代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • ios中图像进行压缩方法汇总

    ios中图像进行压缩方法汇总

    在Iphone上有两种读取图片数据的简单方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函数需要两个参数:图片的引用和压缩系数.而UIImagePNGRepresentation只需要图片引用作为参数.
    2015-05-05
  • iOS实现类似微信和支付宝的密码输入框(UIKeyInput协议)

    iOS实现类似微信和支付宝的密码输入框(UIKeyInput协议)

    这篇文章主要介绍了iOS实现类似微信和支付宝的密码输入框,通过UIKeyInput协议为响应者提供简单的键盘输入的功,再通过CoreGraphics绘制出密码输入框,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • iOS9新特性之UIStackView

    iOS9新特性之UIStackView

    UIStackView主要包括了四大属性:axis、alignment、distribution、spacing。下面通过本文给大家介绍iOS9新特性之UIStackView的相关知识,感兴趣的朋友一起看看吧
    2017-09-09
  • iOS开发中常见的项目文件与MVC结构优化思路解析

    iOS开发中常见的项目文件与MVC结构优化思路解析

    这篇文章主要介绍了iOS开发中常见的项目文件与MVC结构优化思路解析,示例代码基于传统的Objective-C,需要的朋友可以参考下
    2015-12-12

最新评论