在我正在显示的应用程序中,表格视图中的月份列表。对于某些日期,每个月都有很少的活动。所以我的问题是如何将我的数组中的日期与月份的日期进行比较,以仅显示其各自月份中的事件。
答案 0 :(得分:0)
您可以使用NSDateComponents
:
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components =
[calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:yourDate];
[components month];// gives you month
比较本月与数组索引或您喜欢的其他方式。
答案 1 :(得分:0)
在您的情况下,您可能只需要比较日期的年份和月份组成部分。 实现这一点可能有很多方法。 这就是我想要的。以yyyy-MM格式转换tableview中的日期,并以相同的格式转换事件日期,可能与下面给出的方式相同。
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比较方法将此monthDate字符串与eventDate字符串进行比较。