アルフォンス:
ジェイ:
日付でフィルタリングが完全に日付オブジェクトでサポートされています。ここでは、2つの迅速な例があります。(あなたの質問のために)特定の日をフィルタリングするための一つの間で使用して、日付範囲の1。
注、私は機能していMAKEDATE日付オブジェクトに文字列をキャストします。この例ではdog_birthdate日付プロパティを持つレルムDogClassオブジェクトを使用しています。
これは、特定の日付を持つオブジェクトのためのフィルタ
let searchDate = self.makeDate(fromString: "06/01/2019")
let specificDateResults = realm.objects(DogClass.self)
.filter("dog_birthdate == %@", searchDate)
for dog in specificDateResults {
print(dog.dog_name)
}
これは、日付範囲内のオブジェクトのためのフィルタ
let startDate = self.makeDate(fromString: "06/01/2019")
let endDate = self.makeDate(fromString: "06/20/2019")
let dateRangeResuls = realm.objects(DogClass.self)
.filter("dog_birthdate BETWEEN {%@,%@}", startDate, endDate)
for dog in dateRangeResuls {
print(dog.dog_name)
}
EDIT:テスト用OPからのコメント内のコードを使用して
let stringDate = "2019-06-01"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let searchDate:Date = dateFormatter.date(from: stringDate)!
let result = realm.objects(DogClass.self).filter("dog_birthdate == %@", searchDate)
for dog in result {
print(dog.dog_name)
}
これは完璧に動作します。