1

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

即我需要计算从 2011 年 8 月 1 日到 2012 年 9 月 3 日之间发生了多少周。诸如此类的事情。

我有计算两个日期之间的天数然后除以 7 的想法,但这不包括我可能在几周之间的事实,在这种情况下,值将不正确/不精确。

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

4

3 回答 3

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];

希望有帮助

于 2012-12-13T20:17:53.880 回答
1

NSCalendar是你应该参加的课程。它允许您NSDateComponents使用该方法获取两个日期的日期components:fromDate:toDate:options:,同时为您处理所有混乱的时间。

于 2012-12-13T20:18:01.387 回答
0
NSDateComponents *difference = [[NSCalendar currentCalendar] components:NSCalendarUnitDay
                                                               fromDate:startDate]
                                                                 toDate:endDate]
                                                                options:0];
NSInteger weeksDiffCount = (((NSInteger)[difference day])/7);

希望能帮助到你。

于 2016-08-15T13:09:25.437 回答