Genel olarak kodlara bakmadım da şu sorgu dikkatimi çekti

burada eşit değilse olarak sorgulamaz hocam, burada denk değilse olarak sorgular, yani muhtemelen tarihler farklı da olsa tahminimce string formatında olduğu için bu sorgu true döndürecektir.
Eğer sorgu mantığınız doğruysa bir de şöyle deneyin