изменить месяцы на точные дни? - PullRequest
0 голосов
/ 26 ноября 2009

я использую следующий код, чтобы получить месяцы правильно .... он возвращает правильные данные .. но это дает 2 месяца, когда я получу от двух дат ... предположим, если я дам две даты, такие как январь, чтобы идти, это даст 2 месяца ... как я могу точно изменить количество дней (включая февраль) ...

NSCalendar *sysCalendar = [NSCalendar currentCalendar];


unsigned int unitFlags = NSSecondCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit;

NSDateComponents *breakdownInfo = [sysCalendar components:unitFlags fromDate:date1  toDate:date2  options:0];

NSLog(@"Break down: %dmons", [breakdownInfo month]);

Ответы [ 2 ]

1 голос
/ 26 ноября 2009

Вы можете использовать NSDateComponents, но вы можете сосчитать дни, просто взяв разницу в timeInterval каждой даты. NSTimeInterval - это число с плавающей запятой, которое считает количество секунд.

#define kSecondsInDay 86400

int numberOfDays = [date2 timeIntervalSinceDate:date1] / kSecondsInDay;
0 голосов
/ 26 ноября 2009

Указывая только флаг NSDayCalendarUnit при создании компонентов даты, вы получите количество дней в результате [breakdownInfo day].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...