对于熟悉Excel的人,我试图在Cocoa中使用类似的NETWORKDAYS函数。
任何人都可以帮助我构建一个NSDate类别所需的信息类型,只能在两个日期之前给我一个工作日吗?
非常感谢 NIK答案 0 :(得分:2)
我知道我会给予优化,但它只是为您提供一种探索方式。 您可以使用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];
(见Calendars, Date Components, and Calendar Units)
从那里开始,从第一个日期开始,每天都会对此进行迭代,直到结束日期为止,并且使用工作日,您可以确定当天是否在周末。 (我重复说这不是优化的,但它只是一个轨道)