2

Objective-C で、特定の時刻 (午後 8 時など) 以降の時刻を持つ NSArray 内の NSDate を識別する簡単な方法はありますか?

配列内の各 NSDate を手動で調べてから、NSDateComponents を使用して時/分/秒を分割する以外に、とにかくよくわかりません... NSDate から時間を取得する簡単な方法があるかどうかさえわかりませんこれは少し役立つかもしれないので、24 時間の一部を表す方法です。(例: この場合、午後 6 時は 18/24 = 0.75 になります)

4

2 に答える 2

3

侵入する必要はありませんNSDateComponents

NSTimeInterval 間隔 = [date1 timeIntervalSinceDate:date2];
もし (間隔 > 0) {
    // date2 の方が早い
} そうしないと {
    // date1 の方が早い
}

これで、目標時刻 (たとえば、午後 8 時) を date2 で表し、配列のすべての日付をそれと比較できます。

于 2011-03-20T09:11:01.910 に答える
1

これは自分で試したことはありませんが、おそらく

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

あなたが探しているものです。

于 2011-03-20T09:07:13.623 に答える