Gönderdiğiniz kodda bir sorun yok, bu nedenle yanlış yaptığınız her şey kodda başka bir yerdedir.
Ben sadece kod iki küçük kusurları bakın, ama onlar sadece köşe durumları etkilemez:
Sen kodunda art arda DateTime.Now
mülk alma kaçınmalıdır. Değeri değişir, bu yüzden değerler bir kullanımdan diğerine değiştiğinde bazı durumlarda tutarsız sonuçlar alabilirsiniz.
genellikle
>
ve
<=
veya
>=
ve
<
gibi kapsayıcı bir ve tek özel operatörü, eşleştirmek verecek bir zaman aralığı almak için. Böylelikle, 0 - 24 saat ve 24 - 28 saat gibi birbiri ardına aralıklarla bir boşluk veya çakışma olmadan kontrol edebilirsiniz.
DateTime now = DateTime.Now;
if (myDateTime > now.AddHours(-24) && myDateTime <= now)
... Tamam görünüyor ilk bakışta ... "bunun yanlış" AddDays (-1) çalıştı tanımlayın? –