我需要对一年中持续的日志进行一些基于时间的统计, 我需要做的就是在确定的日期范围内计算(太阳能)周数。
即。我需要计算2011年8月1日到2012年9月3日之间已经发生了多少周。以及类似的事情。
我已经有了计算两个日期之间的天数然后除以7的想法,但这并不能算出我可以在几周之间的事实,在这种情况下,价值不正确/精确
之前有人遇到过类似的问题吗?
答案 0 :(得分: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];
希望有所帮助
答案 1 :(得分:1)
NSCalendar
是您应该参加的课程。它允许您使用components:fromDate:toDate:options:
方法从两个日期获取NSDateComponents
,同时为您处理所有混乱的时间。
答案 2 :(得分:0)
NSDateComponents *difference = [[NSCalendar currentCalendar] components:NSCalendarUnitDay
fromDate:startDate]
toDate:endDate]
options:0];
NSInteger weeksDiffCount = (((NSInteger)[difference day])/7);
希望它有所帮助。