NSDate计算两个时间日期的时差
小记一笔,免得下次翻阅的时候,又浪费太多时间去验证。
经常需要比对两个时间的差距,当差距7天的时候就给出一定的提示等等什么的。
代码如下:
1 - (BOOL)isOutOfDateTime { 2 3 //updateTime格式如下:2016-03-22 4 5 NSDateFormatter *format = [[NSDateFormatter alloc]init]; 6 //根据updateTime的格式,写出对应的日期格式化串 7 [format setDateFormat:@"yyyy-MM-dd"]; 8 [format setLocale:[NSLocale currentLocale]]; 9 NSDate *currentDate = [format dateFromString:updateTime]; 10 11 //获取当前的系统时间 12 NSDate *date = [NSDate date]; 13 //消除8小时的误差。 14 NSTimeZone *zone = [NSTimeZone systemTimeZone]; 15 NSInteger interval = [zone secondsFromGMTForDate:date]; 16 17 //追加8小时 18 NSDate *localeDate = [date dateByAddingTimeInterval: interval]; 19 currentDate = [currentDate dateByAddingTimeInterval:interval]; 20 //计算时间差间隔 21 NSTimeInterval timeBetween = [localeDate timeIntervalSinceDate:currentDate]; 22 23 //根据相差的秒数,看是否大于7天 24 if (timeBetween > 7 * 24 * 3600) { 25 return YES; 26 } 27 return NO; 28 }