date() fonksiyonunu veri saklarken değil, veriyi gösterirken kullanmak daha mantıklı. Date string çıktı üretir. Tarih işlemlerinde mktime() fonksiyonu ayrıca bir algoritma yazılmadığı sürece zaten sorun çıkaracaktır. Ayın 1. gününden 1 çıkarıldığında 0 sonucu çıkacak örneğin, bir önceki ay gösterilmeyecek. Bunun yerine, veriyi değişkenler dahil bir yerde saklarken time() kullanmak gerekir. Veri kullanıcıya gösterilirken date() kullanabilirsin.

$yesterday = time()-60*60*24;
echo date("Ymd", $yesterday);


Veya direkt date() olarak tutmak istersen şu şekilde yazabilirsin:

$yesterday = date("Ymd", time()-60*60*24);

Tabii bu tam olarak 24 saat önceki tarihi gösterir.

Aynı şekilde strtotime() fonksiyonunu da kullanabilirsin.

$yesterday = strtotime("yesterday");

veya

$yesterday = date("Ymd", strtotime("yesterday"));