使用NSCalendar来计算指定时间之前或之后日期

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *currentDate = [NSDate date];
//打印当前日期
[self printDate:currentDate];//2018.01.11 16.26.46
NSDateComponents *components = [[NSDateComponents alloc] init];
components.day = 1;
components.year = 1;
components.month = 1;
//计算当前时间之后的一年+一个月+一天之后的日期
//正数表示往后,负数表示往前
NSDate *date = [calendar dateByAddingComponents:components toDate:currentDate options:0];
//打印日期
[self printDate:date];//2019.02.12 16.26.46

//计算距离当前时间一天之前的日期
NSDate *date2 = [calendar dateByAddingUnit:NSCalendarUnitDay value:-1 toDate:[NSDate date] options:0];
//打印日期
[self printDate:date2];//2018.01.10 16.26.46
//计算距离当前时间一年之后的日期
NSDate *date3 = [calendar dateByAddingUnit:NSCalendarUnitYear value:1 toDate:[NSDate date] options:0];
//打印日期
[self printDate:date3];//2019.01.11 16.26.46

你可能感兴趣的:(使用NSCalendar来计算指定时间之前或之后日期)