NSCalendar
と を使用しNSDateComponents
て の特定のコンポーネントのみを比較することに慣れていますNSDate
。NSPredicate
ただし、日付の配列をフィルタリングするとき、または属性の 1 つとして日付を持つ Core Data エンティティをフェッチするときに、を使用してこれを達成できるかどうか疑問に思っていました。
たとえばPerson
、属性を持つCore Data エンティティを格納しているとしますbirthday
。 birthday
人の誕生日の日付と時刻の両方を格納する NSDate です。NSPredicate
(または他の何か)を使用して、午後 7 時以降Person
に sのみを取得できますか?birthday
または、これを達成するために日付と時刻を別々に保存する必要がありますか? (言って、保存birthdayDate
してbirthdayTime
。)
NSDate
(時間コンポーネントのみを持つ でフィルタリングを試みましたが、NSDate
欠落しているすべての日付コンポーネントは、日付コンポーネントと時間コンポーネントの両方を持つものよりも早いと見なされるようNSDates
です。)