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 }
原文地址:https://www.cnblogs.com/vokie/p/5413345.html