| | |
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Autor | Správa |
---|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Nazdarek. Potreboval by som radu. Do DB si ukladam cas prihlasenia uzivatela a cas odhlasenia uzivatela v Unixovom formate, cize napr. Kód: $cas1="1235829033"; $cas2="1235829204";
Rozdiel medzi oboma casmi je 171 ( cize 171 sekund). No a chcel by som z toho zobrazit dlzku prihlasenia uzivatela v tvare napr. 0h:02m:51s. Ale problem je ze neviem ako previest ten rozdiel (tych 171 sekund) medzi $cas2 a $cas1 do tohto tvaru...Nevedel by mi niekto prosim poradit?? Dik.
|
|
Registrovaný: 21.02.07 Prihlásený: 21.02.10 Príspevky: 3984 Témy: 96 |
Tak prvé čo ma napadá, je, že % ti vráti výsledok, čiže tie sekundy najskôr vydelíš 3600, z čoho ti vyjde nejaké číslo, ktoré orežeš podľa čiarky. POtom urobíš to isté akurát zápis nebude:
$sek/3600
ale
$sek%3600
z čoho získaš zvyšok. Urobíš to isté čo s hodinami, až prídeš na sekundy ...
Nikdy som to neriešil ani toto som netestoval. Podľa mňa to bude fungovať, ale nie som si tým istý.
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 28.02.2009 16:29 | |
|
Jednoducho: Kód: echo date('G:i:s', $cas2-$cas1); respektíve v tvojom formáte: Kód: $cas3 = $cas2-$cas1; echo '<strong>'.date('G', $cas3).'h:'.date('m', $cas3).'m:'.date('s', $cas3).'s</strong>';
Predpokladá sa však, že vždy vieš kedy sa užívateľ odhlásil, čo pravda nie je, pretože niektorí užívatelia len zatvoria prehliadač a tak nemáš čas kedy sa odhlásil... To už si ale musíš ošetriť sám.
PS: Tominator: načo na to ísť jednoducho, keď sa dá zložito, že?
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
mylan..dik za odpoved..Ukazuje to presne taky format ako som chcel..Akurat ze nezobrazuje spravny cas. Teda rozdiel medzi tymi casmi je 171 sekund, takze by mi malo zobrazit: 0h:02m:51s ale ono to zobrazuje: 1h:01m:51s V com by mohol byt problem???
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 28.02.2009 18:27 | |
|
zaciatocnik píše: mylan..dik za odpoved..Ukazuje to presne taky format ako som chcel..Akurat ze nezobrazuje spravny cas. Teda rozdiel medzi tymi casmi je 171 sekund, takze by mi malo zobrazit: 0h:02m:51s ale ono to zobrazuje: 1h:01m:51s V com by mohol byt problem??? Problém je v tom, že tá funkcia nerobí to, čo potrebuješ. Ona v skutočnosti zobrazuje čas, ktorý bol po 171 sekundách od Unix epochy prepočítaný na našu časovú zónu (tá druhá jednotka nie je jedna minúta, ale je to prvý mesiac).
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
Tak ako teda prepocitat ten rozdiel do takeho formatu ako potrebujem???
|
|
Registrovaný: 07.03.06 Prihlásený: 23.01.11 Príspevky: 404 Témy: 2 Bydlisko: Prešov / Pr... | Napísal mylan: 28.02.2009 18:53 | |
|
jj, chybička se vloudila, omylom som tam namiesto minúty dal mesiac(písal som to z hlavy). Áno, počíta to počet sekúnd od unix epochy, ale to je aj presne výsledok, ktorý on potrebuje dosiahnuť a takto to vidím najľahšie dosiahnuteľné. Takže po úprave a prispôsobeniu času UTC bude výsledok vyzerať takto: Kód: $cas3 = $cas2-$cas1-3600; echo '<strong>'.date('G', $cas3).'h:'.date('i', $cas3).'m:'.date('s', $cas3).'s</strong>';
Dá sa na to ísť samozrejme elegantnejšie, napríklad keď som už bol pohľadať ako sa zapisuje minúta, tak v komentároch je na to presne určená funkcia!
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 28.02.2009 18:54 | |
|
Napr. tak, ako písal Tominator.
|
|
Registrovaný: 21.09.08 Prihlásený: 14.11.17 Príspevky: 225 Témy: 74 Bydlisko: Michalovce |
mylan...dik..uz to funguje presne ako ma..
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 03.03.2009 21:43 | |
|
mylan píše: ...Takže po úprave a prispôsobeniu času UTC bude výsledok vyzerať takto... Odpočítať 3600 sekúnd je len taká barlička (nerieši to napr. letný čas).
Inak ten výraz môže vyzerať napr. takto: Kód: echo '<strong>'.date('G\h:i\m:s\s', $cas3).'</strong>';
|
|
| Stránka: 1 z 1
| [ Príspevkov: 10 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| pozadovanie prihlasenia v Operačné systémy Microsoft | 2 | 523 | 29.09.2006 21:44 bawy | | Doba prihlásenia v PHP, ASP | 7 | 575 | 14.04.2011 0:29 richo9996 | | PHP kontrola prihlasenia v PHP, ASP | 5 | 390 | 30.03.2013 1:09 walther | | farba ramu prihlasenia v HTML, XHTML, XML, CSS | 6 | 673 | 27.05.2008 18:26 Tominator | | Firefox - nepamata si prihlasenia v Sieťové a internetové programy | 10 | 870 | 21.11.2008 20:22 Blackshadow | | Hacknutie prihlásenia na webe v PHP, ASP | 6 | 1368 | 16.01.2010 21:52 pilná lama glama | | Výpis časov prihlásenia užívateľov v Operačné systémy Microsoft | 5 | 555 | 11.11.2006 14:59 johny128 | | Zablokovanie prihlasenia sa pouzivatela v Operačné systémy Microsoft | 0 | 457 | 05.11.2008 20:31 feiron | | Spôsob prihlasenia do windowsu xp v Operačné systémy Microsoft | 1 | 464 | 25.03.2011 0:39 michalesku | | RDP bez prihlasenia uzivatelskym kontom v Bezpečnosť a firewally | 9 | 767 | 10.01.2017 12:47 void | | Rátanie času v profile užívateľa - prihlasenia v PHP, ASP | 6 | 803 | 04.07.2006 14:34 scooby | | pomoc s ponukou prihlasenia do siete v Ostatné programy | 1 | 954 | 21.05.2006 14:53 matesqo | | Windows 7 - Zlyhanie inicializácie procesu prihlásenia v Operačné systémy Microsoft | 7 | 3106 | 04.07.2012 11:17 limare | | Dve google prihlásenia v jednom prehliadači v Služby a webstránky | 0 | 1105 | 07.07.2019 16:38 matmatmat | | dlžka pola v HTML, XHTML, XML, CSS | 2 | 539 | 16.10.2009 22:40 dessert | | Dlzka premennej v JavaScript, VBScript, Ajax | 7 | 613 | 10.06.2009 19:37 roach189 |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|