2012-07-13 68 views
0

我有生日列表。從b'days列表中,我需要選擇在未來30天內發生的所有b'days。NSDate比較

例如:今天的日期是07/13,那麼我需要列出07/13和08/13之間發生的所有b'days。

是否有任何內置的方法來選擇這種方式的日期。

在此先感謝

+0

沒有內置方法對於這一點,但是你的邏輯和文檔,對不對? – 2012-07-13 05:31:06

+0

[如何檢查兩個其他NSDates之間是否發生NSDate]的可能重複(http://stackoverflow.com/questions/1072848/how-to-check-if-an-nsdate-occurs-between-two-other- nsdates) – marcog 2012-07-13 05:38:33

回答

2

您可以使用此NSPredicate

NSDate *now = [NSDate date]; 
NSDate *later = [now dateByAddingTimeInterval:(30*24*60*60)]; 
NSPredicate *pre = [NSPredicate predicateWithFormat:@"SELF >= %@ AND SELF <= %@", now, later]; 
NSArray *upcomingBirthdays = [birthdays filteredArrayUsingPredicate:pre]; 
0

你將不得不工作的邏輯爲自己,這裏是一個鏈接到「日期和時間編程指南」。它包含一些示例代碼來檢查「日期」是否在一週內。可能是一個開始的好地方。

Apple's guide

+0

謝謝你日期。我會看看。 – 2012-07-13 05:43:29