Autor Zpráva
BuGeR
Profil
Zdravím.
Chtěl bych se zeptat..existuje na PHP nějaká funkce která jakoby odpočíta kolik uběhlo?
Např. Zadam do proměnné $cas1 čas kdy se něco stalo, a do proměnné $cas2 aktualní čas - time()..
No a pak to nějak porovnávat..např.
"Před 5 sekundami", "Před 5 minutami", "Včera", "Před 3 dny", "Před Rokem" atd..
Doufam, že víte co myslím. Děkuji :).
SpotRudloff
Profil
Bez nebo s databází?
BuGeR
Profil
Už to mám děkuji. Je to sice trochu kostrbaté ale nevadí :)
function zpracujcas($cas) {
	$d=round(($cas - time()) / (24 * 60 * 60))*-1;
	$m=0;$D=$d; while($D > 29) { $D-=30;$m++; }
	$y=0;$M=$m; while($m >= 12) { $m-=12;$y++; }
	$hod=round(($cas - time()) / (60 * 60))*-1;
	$min=round(($cas - time()) / (60))*-1;
	$p = "Asi před ";
	if($min==0 && $hod==0 && $d==0 && $m==0 && $y==0) { $pred = "před několika sekundami"; }
	elseif($min > 0 && $min < 60 && $hod==0 && $d==0 && $m==0 && $y==0) { 
		if($min == 1) { $min = ""; $i = " minutou"; } else { $i = " minutami"; }  
		$pred = $p.$min.$i;
	}
	elseif($hod > 0 && $hod < 24 && $d==0 && $m==0 && $y==0) { 
		if($hod == 1) { $hod = ""; $i = " hodinou"; } else { $i = " hodinami"; }  
		$pred = $p.$hod.$i;
	}
	elseif($d > 0 && $d < 30 && $m==0 && $y == 0) { 
		if($d == 1) { $d = ""; $i = " včera"; $ii = ""; } else { $ii="před "; $i = " dny"; }  
		$pred = $ii.$d.$i;
	}
	elseif($m > 0 && $m < 30 && $y == 0) { 
		if($m == 1) { $m = ""; $i = " měsícem"; } else { $i = " měsíci"; }  
		$pred = $p.$m.$i;
	}
	elseif($y > 0) { 
		if($y == 1) { $y = ""; $i = " rokem"; } else { $i = " lety"; }  
		$pred = $p.$y.$i;
	}
	return $pred;
}

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: