1

在我的应用程序中,我正在显示表格视图中的月份列表。对于每个月,某些日期的事件很少。所以我的问题是如何将我的数组中的日期与月份的日期进行比较,以仅显示各自月份中的事件。

4

2 回答 2

0

在您的情况下,您可能只需要比较日期的年份和月份部分。可能有很多方法可以实现这一点。这就是我会尝试的。以 yyyy-MM 格式在表格视图中转换您的日期,并以相同格式转换事件日期,可能如下所示。

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 字符串进行比较。

于 2013-07-09T12:04:33.457 回答
0

你可以使用NSDateComponents

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

[components month];// gives you month 

例如,将此月与 Array 索引或您喜欢的其他方式进行比较。

于 2013-07-09T11:26:07.567 回答