Autor Zpráva
aladin
Profil *
zdravím,
chci se zeptat, mám 2 datumy,jeden aktualní a druhej budoucí (třeba rok 2014 5měs 2den)
mám udělaný odpočet,ale potřeboval bych udělat i procenta..
jde nějak udělat že by se udělaly procenta kolik zbývá do daného času?
díky
juriad
Profil
Samozřejmě, procenta vypočítáš trojčlenkou.
aladin
Profil *
a jak mám převýst ten čas?to ho mám hodit do sebe (20140502) to stejný s aktualním datem?
juriad
Profil
$minuly = date("U", mktime(0, 0, 0, 7, 1, 2000));
$budouci = date("U", mktime(0, 0, 0, 7, 1, 2020));
$soucasny = date("U");

echo ($budouci-$soucasny)/($budouci-$minuly)*100, '%';
Samozřejmě, že je třeba podíl vynásobit 100, aby to byla procenta.
aladin
Profil *
nefunguje,vypisuje to 0.0017498783225786%
i když dám datum třeba jen o den tak tam je pořád 0,....%
juriad
Profil
Jaké konkrétní hodnoty, tam dáváš? Upravil jsem svůj kód: je třeba ještě násobit stem.
aladin
Profil *
je to stejný,pořád to ukazuje tolik čísel... 0.17470890639474%
$minuly = date("U", mktime(0, 0, 0, 7, 1, 2000));
$budouci = date("U", mktime(0, 0, 0, 6, 1, 2013));
$soucasny = date("U");
echo ($budouci-$soucasny)/($budouci-$minuly)*100,"%";
Majkl578
Profil
Tolika čísel za desetinnou čárkou (tečkou) se zbavíš pomocí funkce round(). Popř. ještě lépe s number_format().
echo number_format($procenta * 100, 4, ',', ' ');
juriad
Profil
aladin:
Zamysli se nad tím kódem a nad sebou. Myslíš si, že $minuly jsem tam napsal jen tak? Ne, to je datum, od kdy se má začít počítat (tedy datum, pro které ukáže, že zbývá 100%). Naopak $budouci je datum, do kdy se má počítat (tedy datum, pro které ukáže, že zbývá 0%). Výpočet je s přesný na jednu sekundu.

$minuly = date("U", mktime(0, 0, 0, 5, 1, 2013));
$budouci = date("U", mktime(0, 0, 0, 6, 1, 2013));
Kolik procent zbývá nyní od začátku května do začátku června.
aladin
Profil *
Majkl578:
díky,tohle mě pomohlo

juriad:
jo díky,nenapadlo mě to... :)
díky moc za odpovědi

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0