2

我正在尝试查询我的数据以获取不同的日期。我找到了属性搜索,但看起来他们目前不支持搜索日期。有没有办法解决这个问题,而不必将日期存储为长或不必查询整个列表并将其过滤掉?甚至返回一个包含每个不同日期的第一个对象的完整对象列表也是可行的。

4

3 回答 3

2

请通过 GitHub 问题打开功能请求。我建议查询长值,并使用它们创建一个日期数组/列表。

于 2018-03-26T14:40:18.103 回答
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();
}

它适用于我的要求。

于 2019-12-24T18:20:00.877 回答
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)
}

再见!

于 2020-09-04T13:38:03.680 回答