Autor Zpráva
Watchick
Profil *
Dobrý den, před časem mi zde bylo porazeno, jak vydedukovat z doby cesty a casu srazu dobu odchodu... ale vyskytla se mi nemylá chybka:
//priklad: $sraz: 12:55:00
$sraz = $srz1 . ":" . $srz2 . ":" . $srz3;
echo $sraz;
$sraz=explode(':',$sraz);

$sraz=$sraz[0]*3600+$sraz[1]*60+$sraz[2];
$cesta=$cestavsec;
//$cestavsec uz mam nastavenou z prubehu predchazejiciho scriptu...
$odchod=$sraz-$cesta;

echo 'Odchod: ';
echo floor($odchod/3600).':';
echo floor($odchod%3600/60).':';
echo $odchod%60;

Toto perfektně funguje, ale pouze do doby než pokud je doba srazu například v 1 ráno a cesta trvá 3 hodiny, tak se to motá přes půlnoc (výsledek je samozřejmě že se má odcházet ve 22:00...) a nebo pokud cesta trvá déle než 24 hodin... v takovém případě sice nevíjde výsledek správně, ale i kdyby vyšel, tak pak člověk neví, jestli má vyjít dnes, nebo za tyden...
Dumal jsem dumal, stále dumám a stále nic... tak prosím o radu Díky...
TSD
Profil *
No prostě do toho počítání budeš muset zahrnout i dny.
Watchick
Profil *
to mě sice taky napadlo, ale pokud v tom případě: ještě půro upřesnění, dělam to pro jedny stranky pro online hru a jeden clovek tam proste zada v kolik hodin ma dorazit utok na jednoho (kazdymu to k nemu trva jinou dobu...) a ten vudce zada hodinu, minutu a sec v kolik to tam am dojit, ale ted, co zadat do dnu? dny mesice a roky? rozdil dnu by nebyl problem vypocitat, pokud by to neslo pres 31-1... protoze pak by se to nedalo odecitat kdyz to tam ma dorazit 1. a je 31. tak rozdil dnu je 30... coz uz je trochu preoblem... a nebo by ten vudce proste zadal hod., min., sec,. "a za kolik dní to tam má přijít" což i ale z pohledu uživatele přijde dost nepraktické...
TSD
Profil *
Už se v tom trochu ztrácím.
Prostě dny rozlišuješ nebo ne. Pokud ne, tak rozdíl časů přes půlnoc nespočítáš.

Pokud do toho zahrneš dny, tak to nutně nemusí znamenat i zadání měsíce a roku, můžeš prostě použít časovou osu, kde bude den 1 až den 99999.
Watchick
Profil *
Díky TSD
přivítel bych také rady někoho jiného :-)
ninja
Profil
Watchick: proboha kdo ti poradil ten kod? Vzdyt je to hruza des! Najdi si na Googlu nejake priklady programovani pro zacatecniky, pripadne obdobny kod. A to co mas ted smaz.
Watchick
Profil *
NWM, ale nejaky registrovany clen diskuze :-)
Watchick
Profil *
BTW co mam hledat "retezec?"
Watchick
Profil *
toninja
byl to:
DJ Miky
Člen
Watchick
Profil *
ninja: byl to DJ Miky, co mam zadat do google? mě totiž žádná definice tohodle opravdu nenapadá, kdyby mě napadla, takbych s tim nejdříve obtěžoval google a pak teprve diskuzi... ale neboť nevim, tak jsem se obrátil o pomoc na diskuzi a doufám, že mi někdo pomůže...
DJ Miky
Profil
ninja
Tak poraď lepší řešení, pane chytrej. Takovými kecy mu moc nepomůžeš.
Watchick
Profil *
DJ Miky
Jak uz jsem jednou rekl :-) jooo jed!
Watchick
Profil *
Kazdopadne se tady prosim vas nehadejte, ale opravdu by mi pomohlo nejake vylepseni, nebo uplne neco jineho, nez zustat u tohodle a vylivat si tady mezi sebou nasi zlost...
Watchick
Profil *
ale stale bych byl rád kdyby mi nekdo prosim poradil
Ni7R0
Profil
Doporučuji podívat se na funkci mktime, do které se dají zadávat i záporné hodnoty u jednotlivých parametrů, čímž se dosáhne posunutí zpět. Popřípadě strtotime, kde se zase dá zadat čas relativně k druhému parametru, takže se dá udělat něco na styl strtotime("-1 day",time()), což je ve výsledku "včera touhle dobou" :) Obě funkce jsou "inteligentní", takže se nemůže stát, že vám vyplivnou data jako 31. února apod.
Watchick
Profil *
TZN, že sami počátají se dny, že když se jim tam prostě plivne, že 27.2.08 tak kdyz schůzka je 27.2.08 12:00 (nyní je třeba 24.2.08 1:00 ráno, tak se prostě zobrazí, že za 3 dny a 11h?) mě tedy přijde dost nerealne, že by to samo pocitalo se skutecny mi dny, nebo to php umi?
TSD
Profil *
Watchick
Co kdyby ses podíval do dokumentace té funkce?
Řešíš to tady den a půl a když ti někdo naprosto konkrétně poradí, tak se ptáš, jestli to tak opravdu je.
Watchick
Profil *
jo dobrý díky, už jsem to mou lomenou anglinou přelouskal :-) a celkem chapu, ale docea by mne zajímalo, jestli existuje nějaká funkce, že když se do ní zadá, že když k momentálnímu datu přičtu 3000 vteřin tak ze to napise 22 April 2008 7:40 am?
pifko
Profil
jiste, napr.:
echo StrFTime("%d.%m.%Y %H:%M",time()+3000)
Watchick
Profil *
Dobrý den, tak jsem něco udělal, ale byl bych rád, kdyby jste se prosím na to podívali popřípadě poradili a řekli, pokud by se někde dalo udělat ještě něco jinak, v akci je to Z D E
Ale rád bych se zeptal, jestli se z "0:5:4" da udelat "00:05:04", nějakou fcí? díky za všechny vaše případné příspěvky jinak děkuji všem, kteří mi poradili
HTML:
<form action="" method="post">
<table>
<tr><td>Tve souradnice X<input name="mojex" maxlength="4" s[****************************************e="4" class="fm">Y<input name="mojey" maxlength="4" s[****************************************e="4" class="fm"</td></tr>
<tr><td>Souradnice oběti X<input name="jehox" maxlength="4" s[****************************************e="4" class="fm">Y<input name="jehoy" maxlength="4" s[****************************************e="4" class="fm"></td></tr>
<tr><td>Den a čas, kdy má útok dojít</td></tr>
<tr><td>Den<input name="den" maxlength="4" s[****************************************e="4" class="fm">
<select name="mesic" s[****************************************e="1" class="fm">
<option value="January">Leden
<option value="February">Únor
<option value="March">Březen
<option value="April">Duben
<option value="May">Květen
<option value="June">Červen
<option value="July">Červenec
<option value="August">Srpen
<option value="September">Září
<option value="October">Říjen
<option value="November">Listopad
<option value="December">Prosinec
</select>
Rok<input name="rok" maxlength="4" s[****************************************e="4" class="fm"></td></tr>
<tr><td>Čas<input name="hod" maxlength="2" s[****************************************e="2" class="fm">:<input name="min" maxlength="2" s[****************************************e="2" class="fm">:<input name="sec" maxlength="2" s[****************************************e="2" class="fm"></td></tr>
<tr><td colspan="2"><input type="submit" value="Vypočítej!" class="fm fm110"></td></tr>
</table>
</form>

PHP:
$polezahodinu = "257";// 257 = rychlost 1 pole palkare na speed/ hodinu
$jehox = $_POST['jehox'];
$jehoy = $_POST['jehoy'];
$mojex = $_POST['mojex'];
$mojey = $_POST['mojey'];
$rozdilx = abs($jehox-$mojex);
$rozdily = abs($jehoy-$mojey);
$[****************************************dalenost = sqrt($rozdily * $rozdily + $rozdilx * $rozdilx);
$cascesty = $[****************************************dalenost * $polezahodinu;// 257 = rychlost 1 pole palkare na speed/ hodinu
$den = $_POST['den'];
$mesic = $_POST['mesic'];
$rok = $_POST['rok'];
$hod = $_POST['hod'];
$min = $_POST['min'];
$sec = $_POST['sec'];
$datum = "$den $mesic $rok $hod:$min:$sec";
$now = strtotime("now");
$secakce = strtotime($datum);
$secdoakce = abs($now-($secakce+$cascesty));
if($secdoakce > 3600){
$konecnahodina = floor($secdoakce/3600);
}else{
$konecnahodina = "00";
}
$secdoakce2 = $secdoakce - ($konecnahodina * 3600);
if($secdoakce2 > 60){
$konecnaminuta = floor($secdoakce2/60);
}else{
$konecnaminuta = "00";
}
$konecnasec = floor($secdoakce2 - ($konecnaminuta * 60));
$konecnedatum = "$konecnahodina:$konecnaminuta:$konecnasec";
echo $konecnedatum;
Watchick
Profil *
aha... tak to teda newim co si kdo dokazuje tema **** ale mam pocit ze tam ani nic tajnyho ani sprostyho neni ne?

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