Я написал программу для удаления поста из firebase. Когда currentDate == ссылка ("сообщение"). Child (postKey) .child ("date"), тогда пост должен быть удален. проверка проходит каждый (новая тема) 24 часа Я не могу понять, почему он не получает сообщение
private void deletePostFromFirebase(){
new Thread(new Runnable() {
@Override
public void run() {
while(true) {
try {
Thread.sleep(1000L*60L*60L*24L);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH);
Date date = new Date();
String newDate = simpleDateFormat.format(date);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Posts");
ref.orderByChild("date").equalTo(newDate).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot itemSnapshot : dataSnapshot.getChildren()) {
itemSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
throw databaseError.toException();
}
});
}catch (InterruptedException e){
showMessage(e.getMessage());
}
}
}
}).start();
}
Я думаю, что дата написана в firebase (post.child -> date '30 апр 2020' ) написана на русском языке, и текущая дата, которую я получаю, записана в формате dateD30 'April 30' engli sh. Я думаю, что это проблема. Может кто-нибудь объяснить мне или есть другая проблема.