ios开发中计算代码运算时间_iOS计算上次日期距离现在多久的代码

本文实例为大家分享了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(@"\n\nresult: %@", [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"]);

输出结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值