将一个月的日期与数组进行比较

时间:2013-07-09 11:19:57

标签: iphone ios

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

2 个答案:

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