计算日期范围内的周数

hol*_*hix 1 date objective-c nsdate

我需要对一年中持续的日志进行一些基于时间的统计,我需要做的就是在确定的日期范围内计算(太阳能)周数.

即我需要计算2011年8月1日至2012年9月3日之间已经发生了多少周.以及类似的事情.

我已经有了计算两个日期之间的天数然后除以7的想法,但这不计算我可以在几周之间的事实,在这种情况下,价值不正确/精确.

以前有人遇到过类似的问题吗?

Bor*_*ska 6

我假设您在NSDates(date1和date2)中有两个日期.然后打电话

NSCalendar *calendar = [NSCalendar currentCalendar];
//declare your unitFlags
int unitFlags = NSWeekCalendarUnit;

NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date1  toDate:date2 options:0];

int weeksInBetween = [dateComponents week];
Run Code Online (Sandbox Code Playgroud)

希望有所帮助

  • 您可以使用weekOfYear或weekOfMonth,具体取决于您的需要. (2认同)