比较一个月份的date和一个数组

在我的应用程序中,我正在显示表格视图中的月份列表。 对于每个月,在某些date里几乎没有事件发生。 所以我的问题是如何比较我的数组中的date和月份的date,以显示事件在各自的月份只。

你可以使用NSDateComponents

 NSCalendar* calendar = [NSCalendar currentCalendar]; NSDateComponents* components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:yourDate]; [components month];// gives you month 

比较本月与数组索引例如或者您喜欢的另一种方式。

在你的情况下,可能只需要比较date的年份和月份组件。 可能有很多方法来实现这一点。 这是我会尝试的。 以yyyy-MM格式在tableview中转换你的date,也可能按照下面给出的方式在同一格式中转换date。

 NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; [dateFormatter1 setDateFormat:@"yyyy-MM"]; dateFormatter1.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; NSDate *monthDate=[NSDate date]; NSString *strMonthDate=[dateFormatter1 stringFromDate:monthDate]; NSLog(@"%@",strMonthDate); 

使用普通的NSString比较方法比较这个monthDatestring和你的eventDatestring。