Objective c 计算日期范围内的周数

Objective c 计算日期范围内的周数,objective-c,date,nsdate,Objective C,Date,Nsdate,我需要对一年中的日志进行一些基于时间的统计, 我所需要做的就是在确定的日期范围内计算太阳周数 i、 e.我需要计算2011年8月1日至2012年9月3日之间发生了多少周。诸如此类的事情 我有一个想法,计算两个日期之间的天数,然后除以7,但这不包括我可能在两周之间的事实,在这种情况下,值将不正确/精确 以前有人遇到过类似的问题吗?我想你的两个日期分别是NSDates date1和date2。然后打电话 NSCalendar *calendar = [NSCalendar currentCalend

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

i、 e.我需要计算2011年8月1日至2012年9月3日之间发生了多少周。诸如此类的事情

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


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

我想你的两个日期分别是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];

希望这对你有所帮助,我想你的两个约会分别是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];
希望这对你有所帮助。

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

NSCalendar是您应该考虑的类。它允许您使用该方法从两个日期获取NSDATE组件,同时为您处理所有混乱的时间内容

NSDateComponents *difference = [[NSCalendar currentCalendar] components:NSCalendarUnitDay
                                                               fromDate:startDate]
                                                                 toDate:endDate]
                                                                options:0];
NSInteger weeksDiffCount = (((NSInteger)[difference day])/7);
希望能有帮助


希望有帮助。

我使用这段代码,但Xcode返回警告。[dateComponents week]似乎已被弃用。知道它现在是如何工作的吗?您可以根据需要使用weekOfYear或weekOfMonth。我使用这段代码,但Xcode会返回一个警告。[dateComponents week]似乎已被弃用。你知道它现在是如何工作的吗?你可以根据需要使用weekOfYear或weekOfMonth。