2

Objective-C 中是否有一种快速的方法来识别 NSArray 中的 NSDate 在给定时间(例如晚上 8 点)之后具有一天中的某个时间?

除了手动遍历数组中的每个 NSDate 然后使用 NSDateComponents 来打破小时/分钟/秒之外,我什么都看不到......甚至不确定是否有一种简单的方法可以从 NSDate 中获取时间一种代表 24 小时一小部分的时尚,因为这可能会有所帮助。(例如,在这种情况下,下午 6 点将是 18/24 = 0.75)

4

2 回答 2

3

没有必要闯入NSDateComponents

NSTimeInterval 间隔 = [date1 timeIntervalSinceDate:date2];
如果(间隔> 0){
    // date2 更早
} 别的 {
    // date1 更早
}

现在您可以用 date2 表示您的目标时间(例如晚上 8 点),并将数组的所有日期与它进行比较。

于 2011-03-20T09:11:01.910 回答
1

我自己没试过,但我猜

- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate

就是你要找的。

于 2011-03-20T09:07:13.623 回答