Я хочу получить детали дня с интервалом даты. Например, у меня есть интервал дат 21/12/2013 по 28/12/2013. Теперь я хочу получить весь день от этого интервала, как 21,22,23,24,25,26,27,28.получить часть дней с интервалом даты
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[dateFormatter setTimeZone:gmt];
[dateFormatter setDateFormat:@"MMM dd, yyyy"];
NSString *date_str=[NSString stringWithFormat:@"%@",from_date];
NSLog(@"%@",date_str);
NSString *date_str1=[NSString stringWithFormat:@"%@",to_date];
NSLog(@"%@",date_str1);
NSDate *starting_date = [dateFormatter dateFromString:date_str];
NSDate *end_date = [dateFormatter dateFromString:date_str1];
NSCalendar *gregorian = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags fromDate:starting_date toDate:end_date options:0];
NSInteger days = [components day];
Этот код дает общее количество дней.
Как я могу получить этот выход?
Благодаря
Что такое from_date и to_date? – Kreiri
Почему вы делаете двойное преобразование даты-даты? Чтобы получить массив дней, вам нужно, чтобы цикл повторялся с первого дня до последнего дня. Но вам нужно учитывать переходы с одного месяца на другой (и, может быть, годы) – malex
Вы могли бы создать метод (возможно, в категории NSDate), который добавит день к дате, и повторите, так как вы знаете разницу в датах ... – Larme