将文件与日期相关联以查询特定的日期范围,Java(Android)?

时间:2019-01-21 23:49:51

标签: java android date google-cloud-firestore days

我正在将数据保存在文件(Google Firebase.Firestore)中,这些文件在创建时会以日期作为ID。文件放在集合“事件”中。结构如下:

Document 14-Jan-2019
ID: 1547504172
pr: "true"
po: "false"

Document 17-Jan-2019
ID: 1547763372
pr: "false"

...

Document 20-Jan-2019
ID: 1548025154
pr: "true"

Document 21-Jan-2019
ID: 1548107873
pr: "true"

ID是这样创建的:

long ID = (long) Date().getTime()/1000

还有一个名为“ Habits”的集合,其中包含HabitInfo对象。

Document pr (object HabitInfo)
name: "pr"
startDay: 1547504172 //14-Jan-2019
points: 12 ...

每个对象都有一个startDay参数,该参数指定要观察的一周的开始。

我想获取所有创建日期(以长数字形式)在startDay之后少于7天的文件。 一天中的时间无关紧要,只有日期。

我试图做这样的事情:

CollectionReference colRef = db.collection("events");
Query query = colRef.whereGreaterThanOrEqualTo("ID", hInfo.startDay)
                    .whereLessThan("ID", hInfo.startDay + 7*24*60*60);

问题是我的两个ID之间的时差可能超过7天(转换为秒),因为它们是在一天的不同时间记录的。例如,星期一14日上午7点以及21日星期一下午3点以秒为单位的值距我们有7天多的距离。

如何仅考虑日期才能获得范围?

0 个答案:

没有答案