Cocoa - 计算两个日期之间的工作日 [英] Cocoa - Calculate working days between two dates

查看:142
本文介绍了Cocoa - 计算两个日期之间的工作日的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我新的可可程序,我想知道如何获得工作日之间的日期之间的数量。所以只有从星期一到星期五。感谢。

I new in cocoa programing and I want to know how I get the number of working days between to dates. So only from Monday to Friday. Thanks.

推荐答案

NSDate *startDate = ...;
NSDate *stopDate = ...;

NSDateFormatter *df = [NSDateFormatter new];
df.dateFormat = @"yyyy-MM-dd";
startDate = [df dateFromString:[df stringFromDate:startDate]]; // get start of the day

NSDateComponents *comps = [NSDateComponents new];
comps.day = 1; // one day in NSDateComponents

NSUInteger count = 0;
while ([stopDate timeIntervalSinceDate:startDate] >= 0) {

    NSInteger weekday = [[NSCalendar currentCalendar] components:NSCalendarUnitWeekday fromDate:startDate].weekday;

    if (weekday != 1 && weekday != 6) ++count; // filter out weekend days - 6 and 1

    startDate = [[NSCalendar currentCalendar] dateByAddingComponents:comps toDate:startDate options:0]; // increment start day
}

这篇关于Cocoa - 计算两个日期之间的工作日的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆