| Autor | Zpráva | ||
|---|---|---|---|
| Watchick Profil * |
#1 · Zasláno: 20. 4. 2008, 13:57:54
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 * |
#2 · Zasláno: 20. 4. 2008, 14:03:04
No prostě do toho počítání budeš muset zahrnout i dny.
|
||
| Watchick Profil * |
#3 · Zasláno: 20. 4. 2008, 14:10:17
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 * |
#4 · Zasláno: 20. 4. 2008, 14:21:30
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 * |
#5 · Zasláno: 20. 4. 2008, 14:31:40
Díky TSD
přivítel bych také rady někoho jiného :-) |
||
| ninja Profil |
#6 · Zasláno: 20. 4. 2008, 14:43:07
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 * |
#7 · Zasláno: 20. 4. 2008, 14:44:22
NWM, ale nejaky registrovany clen diskuze :-)
|
||
| Watchick Profil * |
#8 · Zasláno: 20. 4. 2008, 14:46:15
BTW co mam hledat "retezec?"
|
||
| Watchick Profil * |
#9 · Zasláno: 20. 4. 2008, 14:49:11
toninja
byl to: DJ Miky Člen |
||
| Watchick Profil * |
#10 · Zasláno: 20. 4. 2008, 16:25:52
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 |
#11 · Zasláno: 20. 4. 2008, 17:26:38
ninja
Tak poraď lepší řešení, pane chytrej. Takovými kecy mu moc nepomůžeš. |
||
| Watchick Profil * |
#12 · Zasláno: 20. 4. 2008, 17:50:50
DJ Miky
Jak uz jsem jednou rekl :-) jooo jed! |
||
| Watchick Profil * |
#13 · Zasláno: 20. 4. 2008, 17:54:20
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 * |
#14 · Zasláno: 21. 4. 2008, 06:26:26
ale stale bych byl rád kdyby mi nekdo prosim poradil
|
||
| Ni7R0 Profil |
#15 · Zasláno: 21. 4. 2008, 14:12:14
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 * |
#16 · Zasláno: 21. 4. 2008, 19:05:18
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 * |
#17 · Zasláno: 21. 4. 2008, 19:23:59
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 * |
#18 · Zasláno: 22. 4. 2008, 06:52:28
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 |
#19 · Zasláno: 22. 4. 2008, 18:43:15
jiste, napr.:
echo StrFTime("%d.%m.%Y %H:%M",time()+3000) |
||
| Watchick Profil * |
#20 · Zasláno: 23. 4. 2008, 20:11:24
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 * |
#21 · Zasláno: 23. 4. 2008, 20:12:53
aha... tak to teda newim co si kdo dokazuje tema **** ale mam pocit ze tam ani nic tajnyho ani sprostyho neni ne?
|
||
|
Časová prodleva: 17 let
|
|||
0