| | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 16.03.11 Príspevky: 97 Témy: 41 |
Zdárek
Potreboval by som poradiť ako vytvoriť "Script" v php, ako dlho daný uživateľ od prihlásenia prihlásený.
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
a kde je problém? pri prihlásení si niekde uložíš čas prihlásenia a na mieste, kde to chceš vypísať proste spočítaš...
_________________ C#, PHP, ... |
|
Registrovaný: 01.05.05 Príspevky: 13343 Témy: 1494 Bydlisko: Bratislava | Napísal JanoF: 13.04.2011 23:36 | |
|
Nie som koder, ale ja by som na to siel asi tak ze ulozim cas v unix formate a podla neho jednoducho zistis pocet sekund a z toho si prepocitas hod, min, sekundy...ale asi sa to bude dat aj jednoduchsie.
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 16.03.11 Príspevky: 97 Témy: 41 | Napísal autor témy richo9996: 13.04.2011 23:38 | |
|
To je jasné ale ako taký výpočet cez PHP spraviť?
timestamp by sa dal ale neviem ako
a z datumom by to asi blblo tiež či ?
|
|
Registrovaný: 01.05.05 Príspevky: 13343 Témy: 1494 Bydlisko: Bratislava | Napísal JanoF: 13.04.2011 23:58 | |
|
Ved si vytiahnes ulozenu hodnotu kedy si sa prihlasil tu odcitas od aktualneho casu a dostanes nejaky pocet sekund a tie si len prevediet na hod, min, sek. Co s datumom chces robit? pises o dlzhe prihlasenia, tak tam ti je datum si myslim nanic... // pridané po 15 minútach od posledného príspevkuKed pogooglis, tak si na to aj funkcie najdes vid:
Kód: <?php
/** * * @convert seconds to hours minutes and seconds * * @param int $seconds The number of seconds * * @return string * */ function secondsToWords($seconds) { /*** return value ***/ $ret = "";
/*** get the hours ***/ $hours = intval(intval($seconds) / 3600); if($hours > 0) { $ret .= "$hours hours "; } /*** get the minutes ***/ $minutes = bcmod((intval($seconds) / 60),60); if($hours > 0 || $minutes > 0) { $ret .= "$minutes minutes "; } /*** get the seconds ***/ $seconds = bcmod(intval($seconds),60); $ret .= "$seconds seconds";
return $ret; } ?> a tymto ju volas: Kód: <?php /*** time since EPOCH ***/ echo secondsToWords(time()); ?>
len si tam spravis rozdiel medzi aktualnym a ulozenym casom a mas to
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 16.03.11 Príspevky: 97 Témy: 41 | Napísal autor témy richo9996: 14.04.2011 0:12 | |
|
Kód: <?php
$loginDoba = "1302732502"; // Napr. timestamp prihlasenia, pouzit. COOKIE alebo SESSION :D function DobaPrihlasenia($sekundy){ $hodiny = intval(intval($sekundy) / 3600); if($hodiny > 0) { $out .= "$hodiny hodín "; } $minuty = bcmod((intval($sekundy) / 60),60); if($hodiny > 0 || $minuty > 0) { $out .= "$minuty minút "; } $sekundy = bcmod(intval($sekundy),60); $out .= "$sekundy sekúnd";
return $out; } echo DobaPrihlasenia($loginDoba-Time()); ?>
Takto som to vyriešil
|
|
Registrovaný: 01.05.05 Príspevky: 13343 Témy: 1494 Bydlisko: Bratislava | Napísal JanoF: 14.04.2011 0:15 | |
|
ja by som na to este pouzil sklonovanie, tu mas o tom celkom dobry clanok Skloňovanie v PHP
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 16.03.11 Príspevky: 97 Témy: 41 | Napísal autor témy richo9996: 14.04.2011 0:29 | |
|
Ďakujem, tiež použivam niečo podobné ale pripletiem tam ešte sprintf
// pridané po 1 minúte od posledného príspevku
A takto má vyzerať celý script:
Kód: <?php $log_timestamp = "1302733461"; function DobaPrihlasenia($sekundy){ $out = ""; $hodin = intval(intval($sekundy) / 3600);
if($hodin > 0){ $out .= "$hodin hodin "; }
$minutes = bcmod((intval($sekundy) / 60),60);
if($hodin > 0 || $minutes > 0){ $out .= "$minutes minút "; } $sekundy = bcmod(intval($sekundy),60); $out .= $sekundy." sekúnd";
return $out; } echo DobaPrihlasenia(Time()-$log_timestamp); ?>
Tam ten hore som dal zle odpocitavat
|
|
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
| 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
|
|