开发者

finding NSDate's in an NSArray that have a time of day after a given time (e.g. 8pm)?

开发者 https://www.devze.com 2023-02-18 03:09 出处:网络
Is there a quick way in Objective-C of identifying NSDate\'开发者_如何学JAVAs in an NSArray that have a time of day after a given time (e.g. 8pm)?

Is there a quick way in Objective-C of identifying NSDate'开发者_如何学JAVAs in an NSArray that have a time of day after a given time (e.g. 8pm)?

I can't quite see anyway other than manually walking through each NSDate in the array and then using NSDateComponents to break out the hour/minute/second...Not even sure if there is a simple way to get the time from an NSDate in a fashion that represents a fraction of 24hours, as this might help a little. (e.g. 6pm would be 18/24 = 0.75 in this case)


There is no need to break in NSDateComponents.

NSTimeInterval interval = [date1 timeIntervalSinceDate:date2];
if (interval > 0) {
    // date2 is earlier
} else {
    // date1 is earlier
}

Now you can represent your target time(8 P.M., for example) with date2 and compare all dates of array with that.


Haven't tried this myself, but I guess

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

is what you're looking for.

0

精彩评论

暂无评论...
验证码 换一张
取 消