darkymarky adlı üyeden alıntı: mesajı görüntüle
öncelikle teşekkürler gmdate komutuda gün cinsinden hesaplatıyor saate çevirmedi
denedigimde 5 gün sonrası için 5 saat kaldıgını gosteriyor.


birde timezone set tanımlı olmasına rağmen gece 2 de sıfırlanıyor
Aşağıdaki fonksiyonu dener misiniz ?

function dateDiff($time1, $time2, $precision = 6) {
	if (!is_int($time1)) {
	  $time1 = strtotime($time1);
	}
	if (!is_int($time2)) {
	  $time2 = strtotime($time2);
	}

	if ($time1 > $time2) {
	  $ttime = $time1;
	  $time1 = $time2;
	  $time2 = $ttime;
	}

	//$intervals = array('year','month','day','hour','minute','second');
	$intervals = array('hour','minute','second');
	$intervals_tr = array('saat','dakika','saniye');
	$diffs = array();

	foreach ($intervals as $interval) {
	  $ttime = strtotime('+1 ' . $interval, $time1);
	  $add = 1;
	  $looped = 0;
	  while ($time2 >= $ttime) {
		$add++;
		$ttime = strtotime("+" . $add . " " . $interval, $time1);
		$looped++;
	  }

	  $time1 = strtotime("+" . $looped . " " . $interval, $time1);
	  $diffs[$interval] = $looped;
	}

	$count = 0;
	$times = array();
	foreach ($diffs as $interval => $value) {
	  if ($count >= $precision) {
		break;
	  }
	  if ($value > 0) {
		if ($value != 1) {
			//$interval .= "s";
		}
		
		$interval_tr_text = str_replace($intervals, $intervals_tr, $interval);
		
		$times[] = $value . " " . $interval_tr_text;
		$count++;
	  }
	}

	return implode(", ", $times);
}

echo dateDiff("now", "next monday");
Çıktı:

Alıntı
116 saat, 1 dakika, 40 saniye