我是我的应用程序我有一个NSMutableArray,每个条目都有一个带有几个Key-Value对的NSMutableDictionary。其中一对包含条目的日期。对于我的应用程序的其中一个功能,我需要确定哪些条目彼此相隔1周(即从星期日到星期日),并对该星期每一天的其中一个键值对求数。
我该怎么做呢?
注意:星期日到星期日,我的意思是整个星期天,而不是在晚上9点到星期日晚上9点说星期日。
答案 0 :(得分:4)
答案 1 :(得分:3)
您可以按日期对条目进行排序(例如,按升序排序)。之后,您可以计算所有后续日期之间的天数差异,基本上为diff[n] = dayDiff(dates[n], dates[n-1])
。因此,对于每个dates[n]
,您可以非常快地找到7天的日期 - 只需diffs
与n
之和,直到您到达数组末尾(=>没有此类日期)或sum等于7(=>你发现它)或者sum大于7(=>没有这样的日期)。
不要试图使用毫秒或类似的东西来获得天数的差异。从某些参考点开始,日期远远超过毫秒。使用NSCalendar
进行此操作
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *cs = [calendar components:NSDayCalendarUnit
fromDate:date1
toDate:date2
options:0];
NSInteger diffInDays = cs.days;
答案 2 :(得分:0)
看一下使用NSDateComponents。您可以将日期A和B都转换为它们的日期组件,然后检查7的差异。