ios - 如何检查 NSDate 是否在特定月份?

标签 ios objective-c nsdate nspredicate

我有一个 NSDate 数组,我想做的是检查日期是否属于一年中的特定月份,并将它们分组到另一个数组中。我得到了 NSInteger 的月份和年份。如果你们能帮助我使用谓词或简单的 if() 语句,那将对我有很大帮助。

最佳答案

您可以使用下面的函数并为数组创建 for 循环。

for(NSDate *date in arrDates){

  if([self isDateFalls:date withYourYear:year andYourMonth:month]){
        NSLog(@"YES DATE FALLS IN YEAR AND MONTH");
  } 
  else{
        NSLog(@"NO DATE NOT FALLS IN YEAR AND MONTH");
  }
}

-(BOOL)isDateFalls:(NSDate *)date withYourYear:(NSInteger)year andYourMonth:(NSInteger)month{

    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *dateComponents = [gregorian components:(NSMonthCalendarUnit | NSYearCalendarUnit) fromDate:date];
    if(dateComponents.year == year && dateComponents.month == month){

        return YES;
    }

    return NO;

}

关于ios - 如何检查 NSDate 是否在特定月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24832660/

相关文章:

ios - 使用 Sinch API 和 iOS SDK 获取对话列表

ios - 如何获取 NSMutablearray 中特定对象的索引?

iphone - UILabel 不更新

objective-c - rootViewController 魔法

objective-c - 如何确定当前日期是否在不包含年份的两个日期范围之内/之外?

ios - 了解 aurioTouch2 中的 FFT

iphone - 在 iTunesConnect 上添加应用程序购买只允许免费订阅

swift - NSDateComponents Formatter string 从日期(到,toDate :) returns nil

ios - 使用 NSPredicate 过滤包含具有 NSDate 字段的对象的 NSArray

ios - 尝试复制 UIView 的框架以负偏移结束