我在执行日期类型(时间戳)的查询时遇到困难。在 cCoud 火库中查询日期字段的正确方法是什么? String created_view = editTextDataFilter.getText().toString(); String time_variable= ""; try { time_variable= new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH).format(new SimpleDateFormat( "dd/mm/yyyy", Locale.ENGLISH).parse(created_view)); }catch (ParseException e){}db.collection("Students") .whereGreaterThan("created_at", time_variable) .get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if (task.isSuccessful()) { for (QueryDocumentSnapshot document : task.getResult()) { alunosList.add( new Students( document.getString("name").toUpperCase(), document.getString("classroom"), document.getDate("created_at"))); recyclerView.setAdapter(adapter); } } else { Log.w(TAG, "Error getting documents.", task.getException()); } } });}字段时间戳我希望输出将日期大于“time_variable”中输入的值的记录,但目前它找不到值。
1 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
为了能够根据时间戳查询 Firestore 数据库,您需要传递到收集引用,其中“大比”(字段路径字段路径,对象值)方法处理对象。传递字符串(就像您当前所做的那样),它不会使您的查询正常工作。Date
它将工作的查询应如下所示:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date date = dateFormat.parse(created_view); db.collection("Students") .whereGreaterThan("created_at", date) .get() .addOnCompleteListener(/* ... */);
如果您想以编程方式添加时间戳,请从以下代码中看到我的答案:
添加回答
举报
0/150
提交
取消