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