【发布时间】:2019-01-19 05:20:23
【问题描述】:
我有一个 Realm 数据库,其中的对象“Events”具有字符串类型的属性名称“occasion”,字符串类型的属性名称“venue”,另一个是 Date() 类型的“日期”。 我的问题是我们如何查询与今天(当天)日期相同的场合。我试过这段代码使用日期过滤器来检索场合,它确实有效:
let date = Date()
let dateFormatter = DateFormatter()
// dateFormatter.dateFormat = "dd/MM/yyyy"
dateFormatter.dateFormat = "d MMM yyyy"
let stringDate = dateFormatter.string(from: date)
todayEvent = realm.objects(Events.self).filter("date = '\(stringDate)'").sorted(byKeyPath: "venue", ascending: true)
Realm 数据库中的日期以“2019 年 1 月 17 日上午 12:00:00”的格式显示日期,即使该日期以 dd/MM/yyyy 格式保存也是如此。我已经尝试更改日期格式,但仍然无法正常工作。或者我是否需要在我首先声明日期属性时为其设置格式?如果是这样,我该如何在 Realm 类对象中执行此操作?我试过了,但它给出了一个错误。我现在被困在这里。请帮忙
这就是我将数据保存到 Realm 数据库的方式:
@IBAction func addNewEventButtonPressed(_ sender: UIButton) {
let newDataEntry = Events()
newDataEntry.occasion = occasionTextFile.text!
let dateString = dateTextField.text!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let dateFromString = dateFormatter.date(from: dateString)
newDataEntry.date = dateFromString!
do {
try realm.write {
realm.add(newDataEntry)
}
} catch {
print("Error saving data \(error)")
}
}
【问题讨论】:
-
对不起,我不明白你的问题是什么?以您的格式保存日期有问题吗?或者如何找回它?
-
请告诉我们如何保存领域对象的日期属性
-
对不起,如果我不够清楚。问题在于使用查询检索数据。而且我不知道为什么保存在领域中的日期会改变格式,尽管以不同的格式保存,即 dd/mm/yyyy。
-
好的。请更新您的问题并向我们展示您如何保存具有日期属性的领域对象
-
我已经在编辑的问题中展示了保存在领域数据库中的案例。