iSO獲取兩個日期之間的所有日期陣列,精確到天
- (void)viewDidLoad {
[superviewDidLoad];
NSArray *datearr = [selfgetDayArrayLeftDate:@"2017年01月01日"rightDate:@"2017年01月05日"];
}
//獲取兩個日期之間的所有日期,精確到天
- (NSArray *)getDayArrayLeftDate:(NSString *)aLeftDateStr rightDate:(NSString *)aRightDateStr{
NSDateFormatter *dateFormatter = [[NSDateFormatteralloc]init];
[dateFormatter setDateFormat: @"yyyy年MM月dd日"];
NSDate *aLeftDate = [dateFormatter dateFromString:aLeftDateStr];
NSDate *aRightDate = [dateFormatter dateFromString
if (aLeftDate == aRightDate) {
NSCalendar *gregorian = [[NSCalendaralloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [gregoriancomponents:NSCalendarUnitWeekday |
NSDate *beginningOfWeek = [gregorian dateFromComponents:components];
NSDateFormatter *dateday = [[NSDateFormatteralloc]init];
[dateday setDateFormat:@"yyyy-MM-dd"];
NSString *currentDateStr = [dateday stringFromDate:beginningOfWeek];
return @[currentDateStr];
}
NSMutableArray *dayArray = [NSMutableArrayarrayWithCapacity:0];
NSDate *currentDate = aLeftDate;
NSCalendar *gregorian = [[NSCalendaralloc]initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *components = [gregoriancomponents:NSCalendarUnitWeekday |NSCalendarUnitYear | NSCalendarUnitMonth |NSCalendarUnitDayfromDate:currentDate];
while (currentDate < aRightDate) {
NSDate *beginningOfWeek = [gregorian dateFromComponents:components];
currentDate = beginningOfWeek;
NSDateFormatter *dateday = [[NSDateFormatteralloc]init];
[dateday setDateFormat:@"yyyy-MM-dd"];
NSString *currentDateStr = [dateday stringFromDate:beginningOfWeek];
[dayArray addObject:currentDateStr];
[components setDay:([components day]+1)];
}
return dayArray;
}