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: 16 let
|
0