Siz bu çıkarma işlemini yaparken unuttuğunuz veya atladığınız bir şey var. 23:00 den 01:00 çıkarıyorsunuz arada saat farkı olduğu kadar gün farkı da var. 2 sonucunu elde edebilmeniz için, saat 23:00 atıyorum 28.07.2018 tarihine, saat 01:00'in ise 29.07.2018 tarihine ait olduğunu belirtmeniz gerek.
$bugun = mktime(23, 00, 00, 07, 28, 2018);
$gecmis = mktime(01, 00, 00, 07, 29, 2018);
$fark = $bugun - $gecmis;
echo 'Saat farkı: ' . $fark/60/60;
//ÇIKTI: -2
?>