Objective-C 中是否有一种快速的方法来识别 NSArray 中的 NSDate 在给定时间(例如晚上 8 点)之后具有一天中的某个时间?
除了手动遍历数组中的每个 NSDate 然后使用 NSDateComponents 来打破小时/分钟/秒之外,我什么都看不到......甚至不确定是否有一种简单的方法可以从 NSDate 中获取时间一种代表 24 小时一小部分的时尚,因为这可能会有所帮助。(例如,在这种情况下,下午 6 点将是 18/24 = 0.75)
Objective-C 中是否有一种快速的方法来识别 NSArray 中的 NSDate 在给定时间(例如晚上 8 点)之后具有一天中的某个时间?
除了手动遍历数组中的每个 NSDate 然后使用 NSDateComponents 来打破小时/分钟/秒之外,我什么都看不到......甚至不确定是否有一种简单的方法可以从 NSDate 中获取时间一种代表 24 小时一小部分的时尚,因为这可能会有所帮助。(例如,在这种情况下,下午 6 点将是 18/24 = 0.75)
没有必要闯入NSDateComponents
。
NSTimeInterval 间隔 = [date1 timeIntervalSinceDate:date2]; 如果(间隔> 0){ // date2 更早 } 别的 { // date1 更早 }
现在您可以用 date2 表示您的目标时间(例如晚上 8 点),并将数组的所有日期与它进行比较。
我自己没试过,但我猜
- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate
就是你要找的。