我正在尝试查询我的数据以查找不同的日期。我找到了属性搜索,但看起来他们目前不支持搜索日期。有没有办法解决这个问题,而不必将日期存储为长期或者必须查询整个列表并将其过滤掉?即使返回一个完整对象列表,它也可以在每个不同日期抓取第一个对象。
答案 0 :(得分:2)
请通过GitHub问题打开功能请求。我建议查询长值,并使用这些值创建一个数组/日期列表。
答案 1 :(得分:0)
在这里我使用日期在对象框中进行了过滤:
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();
}
它可以满足我的要求。
答案 2 :(得分:0)
我必须在OffsetDateTime中使用“ ISO-8601字符串”
如果要今天搜索对象:
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)
}
再见!