日历天数的加减
在使用日历时,可能会遇到有日历加减的需求,如订票时有前一天,后一天的按钮,而实现日历加减则是非常为之麻烦的事情.
我经历了多次尝试和借鉴其他实现方法后,做了如此实现
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];
这样的话就会比较方便实现加减日期的功能.