日历天数的加减

在使用日历时,可能会遇到有日历加减的需求,如订票时有前一天,后一天的按钮,而实现日历加减则是非常为之麻烦的事情.

我经历了多次尝试和借鉴其他实现方法后,做了如此实现

 1 // 获取当前的日期
 2     NSDate *currentDate = [NSDate date];
 3     
 4     NSDateFormatter *df = [[NSDateFormatter alloc] init];
 5     df.dateFormat = @"yyyyMMdd";
 6     NSString *currentDateStr = [df stringFromDate:currentDate];
 7     NSLog(@"%@", currentDateStr);
 8     
 9 
10     // 可以设置一个日历model来接收日历的年月日属性,并进行显示
11     NSDate *date1 = [self.calendarModel date];
12     NSDateComponents *coments = [[NSDateComponents alloc] init];
13    // 取出日历中的day元素 并进行操作 如果加一天符号改为"+"即可
14     coments.day = -1;
15 // coments.month = -1; // 月份
16 // coments.year = -1; // 年份
17 // coments.week = -1; //18 
19    // 然后重新赋给一个新的NSDate 对象
20     NSDate *date = [[NSCalendar currentCalendar] dateByAddingComponents:coments toDate:date1 options:0];
21     NSString *dateStr = [df stringFromDate:date];

这样的话就会比较方便实现加减日期的功能.

 

posted @ 2016-05-03 11:39  C小鱼言  阅读(1500)  评论(0编辑  收藏  举报