2013-07-09 72 views
1

在我的應用程序中,我正在顯示錶格視圖中的月份列表。對於每個月,在某些日期裏幾乎沒有事件發生。所以我的問題是如何將我的數組中的日期與月份的日期進行比較,以僅在各自的月份中顯示事件。將一個月的日期與數組進行比較

+1

你試過什麼?請顯示一些示例代碼。 –

回答

0

您可以使用NSDateComponents爲:

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

[components month];// gives you month 

這個月比較數組的索引,例如,或者你更喜歡另一種方式。

+0

不要忘了還要比較一年(不僅僅是一個月),或者你會看到'1月1日與12月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); 

比較本月dateDate字符串與使用正常NSString比較方法的eventDate字符串。

+0

這是數組中日期的格式2013-07-23 00:00:00 +0000 –

+0

使用上面列出的代碼只需將monthDate替換爲數組中的自己的日期(確保它的NSDate的實例)您將獲得o/p 2013-07作爲一個字符串。 – Mahesh

相關問題