iOS计算上次日期距离现在多久的代码
iOS计算上次日期距离现在多久的代码
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例为大家分享了iOS上次日期距离现在多久的计算代码,供大家参考,具体内容如下/***计算上次日期距离现在多久**@paramlastT...

本文实例为大家分享了iOS上次日期距离现在多久的计算代码,供大家参考,具体内容如下

/** * 计算上次日期距离现在多久 * * @param lastTime 上次日期(需要和格式对应) * @param format1 上次日期格式 * @param currentTime 最近日期(需要和格式对应) * @param format2 最近日期格式 * * @return xx分钟前、xx小时前、xx天前 */ + (NSString *)timeIntervalFromLastTime:(NSString *)lastTime lastTimeFormat:(NSString *)format1 ToCurrentTime:(NSString *)currentTime currentTimeFormat:(NSString *)format2{ //上次时间 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc]init]; dateFormatter1.dateFormat = format1; NSDate *lastDate = [dateFormatter1 dateFromString:lastTime]; //当前时间 NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init]; dateFormatter2.dateFormat = format2; NSDate *currentDate = [dateFormatter2 dateFromString:currentTime]; return [Utilities timeIntervalFromLastTime:lastDate ToCurrentTime:currentDate]; } + (NSString *)timeIntervalFromLastTime:(NSDate *)lastTime ToCurrentTime:(NSDate *)currentTime{ NSTimeZone *timeZone = [NSTimeZone systemTimeZone]; //上次时间 NSDate *lastDate = [lastTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:lastTime]]; //当前时间 NSDate *currentDate = [currentTime dateByAddingTimeInterval:[timeZone secondsFromGMTForDate:currentTime]]; //时间间隔 NSInteger intevalTime = [currentDate timeIntervalSinceReferenceDate] - [lastDate timeIntervalSinceReferenceDate]; //秒、分、小时、天、月、年 NSInteger minutes = intevalTime / 60; NSInteger hours = intevalTime / 60 / 60; NSInteger day = intevalTime / 60 / 60 / 24; NSInteger month = intevalTime / 60 / 60 / 24 / 30; NSInteger yers = intevalTime / 60 / 60 / 24 / 365; if (minutes <= 10) { return @"刚刚"; }else if (minutes < 60){ return [NSString stringWithFormat: @"%ld分钟前",(long)minutes]; }else if (hours < 24){ return [NSString stringWithFormat: @"%ld小时前",(long)hours]; }else if (day < 30){ return [NSString stringWithFormat: @"%ld天前",(long)day]; }else if (month < 12){ NSDateFormatter * df =[[NSDateFormatter alloc]init]; df.dateFormat = @"M月d日"; NSString * time = [df stringFromDate:lastDate]; return time; }else if (yers >= 1){ NSDateFormatter * df =[[NSDateFormatter alloc]init]; df.dateFormat = @"yyyy年M月d日"; NSString * time = [df stringFromDate:lastDate]; return time; } return @""; }

使用如下:

NSLog(@"nnresult: %@", [Utilities timeIntervalFromLastTime:@"2015年12月8日 15:50" lastTimeFormat:@"yyyy年MM月dd日 HH:mm" ToCurrentTime:@"2015/12/08 16:12" currentTimeFormat:@"yyyy/MM/dd HH:mm"]);

输出结果如下:

iOS计算上次日期距离现在多久的代码1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新IOS开发学习
热门IOS开发学习
编程开发子分类