是否可以在对象框中查询日期 属性?
Is it possible to query for a date property in objectbox?
我正在尝试查询不同日期的数据。我找到了 属性 个搜索,但看起来他们目前不支持搜索日期。有什么办法可以解决这个问题,而不必将日期存储得过长或不必查询整个列表并将其过滤掉?即使返回一个完整对象的列表,它为每个不同的日期获取第一个对象也是可行的。
请通过 GitHub 问题提出功能请求。我建议查询长值,并使用这些值创建 array/list 日期。
这里我在 objectbox 中使用日期过滤:
public TOrder getTOrderByNumber(int number) {
Long time = new Date().getTime();
Date startDate = new Date(time - time % (24 * 60 * 60 * 1000));
Date endDate = new Date(startDate.getTime() + 24 * 60 * 60 * 1000);
return tOrderBox.query().equal(TOrder_.orderNumber, number).between(TOrder_.date, startDate, endDate).build().findFirst();
}
符合我的要求。
我必须将“ISO-8601 字符串”与 OffsetDateTime
一起使用
如果您想搜索今天的对象:
private val mFormatterDate = DateTimeFormatter.ISO_LOCAL_DATE
@JvmStatic
fun fromOffsetDate(date: OffsetDateTime?): String? {
return date?.format(mFormatterDate)
}
fun getWaterIntakes(): Pair<List<Water>, Float?> {
val stringDate = TimeConverter.fromOffsetDate(OffsetDateTime.now())!!
val list: List<Water> = mWaterBox.query().
startsWith(Water_.date, stringDate)
.order(Water_.date, QueryBuilder.CASE_SENSITIVE ).build().find()
val firstMeasure: Float? = TimeConverter.convertISOToHours(list.firstOrNull()?.getTime())
return Pair(list, firstMeasure)
}
再见!
我正在尝试查询不同日期的数据。我找到了 属性 个搜索,但看起来他们目前不支持搜索日期。有什么办法可以解决这个问题,而不必将日期存储得过长或不必查询整个列表并将其过滤掉?即使返回一个完整对象的列表,它为每个不同的日期获取第一个对象也是可行的。
请通过 GitHub 问题提出功能请求。我建议查询长值,并使用这些值创建 array/list 日期。
这里我在 objectbox 中使用日期过滤:
public TOrder getTOrderByNumber(int number) {
Long time = new Date().getTime();
Date startDate = new Date(time - time % (24 * 60 * 60 * 1000));
Date endDate = new Date(startDate.getTime() + 24 * 60 * 60 * 1000);
return tOrderBox.query().equal(TOrder_.orderNumber, number).between(TOrder_.date, startDate, endDate).build().findFirst();
}
符合我的要求。
我必须将“ISO-8601 字符串”与 OffsetDateTime
一起使用如果您想搜索今天的对象:
private val mFormatterDate = DateTimeFormatter.ISO_LOCAL_DATE
@JvmStatic
fun fromOffsetDate(date: OffsetDateTime?): String? {
return date?.format(mFormatterDate)
}
fun getWaterIntakes(): Pair<List<Water>, Float?> {
val stringDate = TimeConverter.fromOffsetDate(OffsetDateTime.now())!!
val list: List<Water> = mWaterBox.query().
startsWith(Water_.date, stringDate)
.order(Water_.date, QueryBuilder.CASE_SENSITIVE ).build().find()
val firstMeasure: Float? = TimeConverter.convertISOToHours(list.firstOrNull()?.getTime())
return Pair(list, firstMeasure)
}
再见!