由于具体内容是参照了别人的代码,所以如果大家看到有跟哪个哥们相似的地方,请大家谅解,不算纯原创,但是计算工作日是够用的,网上借鉴的有些改动
//计算工作日
- (NSInteger)workingDaysWithBeginDateString:(NSString *)beginString andEndDateString:(NSString *)endString {
NSDate *beginDate = [self dateFromString:beginString];
NSDate *endDate = [self dateFromString:endString];
NSDateComponents *beginComponets = [[NSCalendar autoupdatingCurrentCalendar] components:NSCalendarUnitWeekday fromDate:beginDate];
NSInteger beginWeekDay = [beginComponets weekday];
NSDateComponents *endComponets = [[NSCalendar autoupdatingCurrentCalendar] components:NSCalendarUnitWeekday fromDate:endDate];
NSInteger endWeekDay = [endComponets weekday];
NSTimeInterval time = [endDate timeIntervalSinceDate:beginDate];
float oneWeekDay = 7 - beginWeekDay;
float allDay = time / (24 * 60 * 60);
float day = 0.0;
if (allDay >= oneWeekDay + 2) {
float otherDay = allDay - (oneWeekDay + 2);
float ResidualDay = otherDay - ((int)otherDay / 7) * 2;
day = ResidualDay + oneWeekDay;
}else{
day = endWeekDay - beginWeekDay;
}
return day;
}
//日期转字符串
- (NSString *)stringDateToDateString:(NSDate *)mydate {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *stringDate = [dateFormatter stringFromDate:mydate];
return stringDate;
}