我正在根据日期查询Firebase。我找到了查询,但看起来不像Firebase。这对我很重要。另一个图片链接:firebase
-LP6nkhewJCIGplnE6L4 nameSurname: “ RUKIYE POLAT” 日期: “ 18/10 / 2018,18:33:02” -LP7EBqo6pabsweqH-4G nameSurname: “ RUKIYE POLAT” 日期: “ 18/10 / 2018,20:32:56” -LPBblB72H nameSurname: “ RUKIYE POLAT” 日期: “ 19/10 / 2018,16:58:45” -LPCNo2DoDkArJJUQMCp nameSurname: “ RUKIYE POLAT” 日期: “ 19/10 / 2018,20:33:01” -LPF-MEziEXaoaNezNHQ nameSurname: “ RUKIYE POLAT” 日期: “ 20/10 / 2018,8:45:03” -LPGfoeIVNGq1MRmOEbY名姓 : “ RUKIYE POLAT” 日期: “ / 2018,16:34:34” -LPGfpCRniADm6sgGWyy nameSurname: “ RUKIYE POLAT” 日期: “ 20/10 / 2018,16:34:34” -LPK8Puua1kLv5eV7NOF nameSurname: “ RUKIYE POLAT” 日期: “ 21/10 / 2018,8:42:44” -LPLqoKyV_YiaMqKozxb nameSoyad: “ POLAT 日期: “ 21/10 / 2018,16:40:42” -LPLqosW54-5q8hUfNoK 名称姓氏: “ RUKIYE POLAT” 日期: “ 21/10 / 2018,16:40:43”
样本中,在Firebase中Date: 20/10 / 2018,8: 32
有另一个孩子Date: 20/10 / 2018,16: 39
我也想按此顺序来。根据来自数据库的时间,即按照firebase中列表的顺序。但是首先,
Date: 20/10 / 2018,16: 39
Date: 20/10 / 2018,8: 32
但是我想像上面列出的那样先
Date: 20/10 / 2018,8: 32 Date: 20/10 / 2018,16: 39
另外一个图片链接:https : //i.hizliresim.com/j691AL.jpg应用
数据库中有很多数据,所以我无法修复它。
DatabaseReference dbGelenler = db.getReference(kimlik+"/"+cekilensifre+"/"+cekilenisim);
Query query = dbGelenler.orderByChild("tarih").startAt(birincitarih).endAt(birincitarih + "\uf8ff");
query.addListenerForSingleValueEvent(new ValueEventListener() {
public void onDataChange(DataSnapshot dataSnapshot) {
List<String> isimler = new ArrayList<String>();
for (DataSnapshot anahtar : dataSnapshot.getChildren()) {
String isim = anahtar.getValue(ornekogrencigetir.class).getAdSoyad();
String tarih = anahtar.getValue(ornekogrencigetir.class).getTarih();
HashMap<String, String> user = new HashMap<>();
if (isimler.indexOf(isim) == -1) {
user.put("hashdurum", "Giriş");
String[] seperated;
seperated = tarih.split(",");
user.put("hashtarih", seperated[0]);
user.put("hashsaat", seperated[1]);
} else {
user.put("hashdurum", "Çıkış");
String[] seperated1;
seperated1 = tarih.split(",");
user.put("hashtarih", seperated1[0]);
user.put("hashsaat", seperated1[1]);
}
isimler.add(isim);
veriler.add(user);
为什么查询不采用顺序方式?我怎样才能解决这个问题?
编辑:错误已解决:
查询信息按时间排序。有时我的数据库中前面不包含0。这些时间是直到12点之后的上午10点。例如,上午9。因此,比较Firebase时钟时,请参考下一个。情况示例9:12:15到15:24:54他在这里比较的情况是91和15,因此他先采取15:24:54,然后得到9:12:15。
您将日期/时间以字符串值的格式存储在数据库中dd/MM/yyyy hh:mm:ss
。Firebase中的字符串按字典顺序排序,但是不幸的是,如果使用的日期格式,则值的字典顺序和时间顺序不同。
解决方案是将日期/时间值存储在一种格式中,该格式确实可以按照您想要的方式对其进行排序。两种最常见的方式是将它们存储为时间戳(一个数字值,该数字值是自特定日期以来的毫秒数)或可排序的字符串格式(通常为2018-10-20T16:34:34
)。
有关更多信息,请参见:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句