在Objective-C中是否有一种快速的方法来识别NSArray中的NSDate,它在给定时间(例如晚上8点)之后有一天的时间?
除了手动遍历数组中的每个NSDate然后使用NSDateComponents打破小时/分钟/秒之外,我无法看到...甚至不确定是否有一种简单的方法来获取时间一个代表24小时的时间的NSDate,因为这可能会有所帮助。 (例如,在这种情况下,下午6点将是18/24 = 0.75)
答案 0 :(得分:3)
无需突破NSDateComponents
。
NSTimeInterval interval = [date1 timeIntervalSinceDate:date2]; if (interval > 0) { // date2 is earlier } else { // date1 is earlier }
现在您可以使用date2表示您的目标时间(例如,下午8点)并比较数组的所有日期。
答案 1 :(得分:1)
我自己没试过,但我想
- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate
是您正在寻找的。 p>