Разница между 2 NSDates, исключая выходные? - PullRequest
0 голосов
/ 08 марта 2010

Для тех, кто знаком с Excel, я пытаюсь использовать похожую функцию NETWORKDAYS в Какао.

Может ли кто-нибудь помочь с типом информации, которая мне понадобится для создания категории NSDate, которая может дать мне только рабочие дни между двумя датами?

большое спасибо Nik

1 Ответ

2 голосов
/ 08 марта 2010

Я знаю, что я дам не оптимизирован, но это просто, чтобы дать вам возможность исследовать. Вы можете использовать NSCalendar и NSDateComponents следующим образом:

// Date of today
NSDate *today = [NSDate date];
// init the gregorian calendar
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
// Retrieve the NSDateComponents for the current date
NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
// Number of the day in the week (e.g 2 = Monday)
NSInteger weekday = [weekdayComponents weekday];

(см. Календари, компоненты даты и единицы календаря )

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

...