Iphone 查找NSDate';在给定时间(例如晚上8点)后有一天时间的NSArray中的s?
在Objective-C中,是否有一种快速方法可以识别NSArray中在给定时间(例如,晚上8点)后有一天时间的NSDateIphone 查找NSDate';在给定时间(例如晚上8点)后有一天时间的NSArray中的s?,iphone,objective-c,nsarray,nsdate,nsdatecomponents,Iphone,Objective C,Nsarray,Nsdate,Nsdatecomponents,在Objective-C中,是否有一种快速方法可以识别NSArray中在给定时间(例如,晚上8点)后有一天时间的NSDate 除了手动遍历数组中的每个NSDate,然后使用NSDate组件划分小时/分钟/秒之外,我看不到其他任何东西……甚至不确定是否有一种简单的方法可以从NSDate获取时间,这种方式只代表24小时的一小部分,因为这可能会有所帮助。(例如,在这种情况下,下午6点将是18/24=0.75)我自己没有尝试过,但我猜 - (NSArray *)filteredArrayUsingPre
除了手动遍历数组中的每个NSDate,然后使用NSDate组件划分小时/分钟/秒之外,我看不到其他任何东西……甚至不确定是否有一种简单的方法可以从NSDate获取时间,这种方式只代表24小时的一小部分,因为这可能会有所帮助。(例如,在这种情况下,下午6点将是18/24=0.75)我自己没有尝试过,但我猜
- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate
就是您要找的。没有必要打断
NSDateComponents
NSTimeInterval interval = [date1 timeIntervalSinceDate:date2];
if (interval > 0) {
// date2 is earlier
} else {
// date1 is earlier
}
NSTimeInterval interval=[date1 timeIntervalSinceDate:date2];
如果(间隔>0){
//日期2更早
}否则{
//日期1早于
}
现在,您可以用date2表示目标时间(例如,晚上8点),并将数组的所有日期与之进行比较