如何使用**日期对象**从**Realm数据库**获取数据?

Lok*_*sai 1 android date realm

我尝试了一些领域查询,但没有得到我想要的结果

让我们考虑下面的表格(Realm表):

id    Name  DateTimeStamp

1      A    2017-01-01 08:00:00
2      B    2017-01-01 15:00:00
3      C    2017-01-02 08:00:00
Run Code Online (Sandbox Code Playgroud)

现在我想要所有那些与日期"2017-01-01"匹配的记录.对于这种情况,我应该从领域表中得到2条记录.现在我没有得到任何记录.

有关信息"DateTimeStamp"列数据类型是"日期".是的我需要在数据库中存储日期和时间,如您在表中看到的那样.

我试过的查询是:

 long cnt = realm.where(ReservationObject.class).equalTo("DateTimeStamp",dateObject).count();
Run Code Online (Sandbox Code Playgroud)

请帮帮我...提前谢谢......

Epi*_*rce 9

您需要Date2017-01-01 00:00:00和设置对象2017-01-02 00:00:00并在其间进行查询.

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1); // make sure month stays valid
calendar.set(Calendar.YEAR, 2017);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
Date jan1 = new Date(calendar.getTimeInMillis());
calendar.set(Calendar.DAY_OF_MONTH, 2);
Date jan2 = new Date(calendar.getTimeInMillis());
Run Code Online (Sandbox Code Playgroud)

然后

realm.where(ReservationObject.class)
     .greaterThanOrEqualTo("DateTimeStamp", jan1)
     .lessThan("DateTimeStamp", jan2)
     .findAll()
Run Code Online (Sandbox Code Playgroud)