Autor | Zpráva | ||
---|---|---|---|
spacek145 Profil |
#1 · Zasláno: 10. 3. 2013, 20:09:49
Dobrý den, mám dvě proměnné s datumem a časem a potřeboval bych je od sebe odečíst, jak na to?
//čas posledního přihlášení $last_t = mysql_result(mysql_query("SELECT value FROM stats WHERE stat='lastlogin' AND category='stats' AND player='".$nick."'"), 0); $last = "".date('d.m.Y, H:i', $last_t).""; //aktuální čas $now = "".date('d.m.Y, H:i', Time()).""; Echo $now - $last; //tohle mi nefunguje, nejspíš to bude nějak jinak... ****Potřebuji od sebe odečíst $now - $last |
||
Tori Profil |
#2 · Zasláno: 10. 3. 2013, 20:12:00
spacek145:
V jakém formátu to máte uložené v DB? |
||
spacek145 Profil |
čas ve formatu stringu -> př. 1362509729
|
||
Someone Profil |
spacek145:
Na řádku 8 už od sebe odčítáš dva stringy. Nejdříve je odečti a pak přes funkci Date přeformátuj do požadované podoby: $last_t = mysql_result(/*sql query*/,0); echo Date("d.m.Y H:i",Time()-$last_t); |
||
spacek145 Profil |
$last_t = mysql_result("SELECT value FROM stats WHERE stat='lastlogin' AND category='stats' AND player='".$nick."'"); $last = "".date('d.m.Y, H:i', $last_t).""; echo Date("d.m.Y H:i",Time() - $last); Když to mám takhle.. tak my to vypisuje pouze aktuální čas, ale nic to neodečítá... Co tam mám blbě? |
||
Someone Profil |
#6 · Zasláno: 10. 3. 2013, 21:26:31
spacek145:
Asi jsem si to v té [#4] neměl zkracovat: $last_t = mysql_result(mysql_query(/*sql dotaz*/),0); |
||
spacek145 Profil |
zkusím to
$last_t = mysql_result(mysql_query("SELECT value FROM stats WHERE stat='lastlogin' AND category='stats' AND player='".$nick."'"), 0); $last = "".date('d.m.Y, H:i', $last_t).""; //čas posledního přihlášení Echo Date("d.m.Y, H:i",Time()-$last); Tak furt to nejde... proč :) Zas to ukazuje jen aktualni cas Vysledek tohoto je: 10.03.2013, 21:48 |
||
Someone Profil |
#8 · Zasláno: 10. 3. 2013, 21:57:17
spacek145:
„proč“ protože Someone: „od sebe odčítáš dva stringy“ $last = "".date('d.m.Y, H:i', $last_t).""; tam nemá co dělat a máš odečíst to co vytáhneš z db od Time()
|
||
DJ Miky Profil |
#9 · Zasláno: 10. 3. 2013, 21:57:22
Pořád odečítáš řetězec. Druhý řádek úplně vyhoď a odečítej
time() - $last_t (číslo mínus číslo, teprve potom naformátovat do potřebného tvaru).
|
||
spacek145 Profil |
#10 · Zasláno: 10. 3. 2013, 22:15:40
$last_t = mysql_result(mysql_query("SELECT value FROM stats WHERE stat='lastlogin' AND category='stats' AND player='".$nick."'"), 0); //čas posledního přihlášení $naformatovat = time() - $last_t; $lajn = date('d.m.Y, H:i', $naformatovat); Echo $lajn; Teď to správně odečítám, ale nejde mi zase pro změnu převod: Převedený je to: 01.01.1970, 01:19 OMG :( |
||
Someone Profil |
#11 · Zasláno: 10. 3. 2013, 22:22:07
spacek145:
Co očekáváš za výsledek? Pokud proběhlo poslední přihlášení před 1 hodinou a 19 minutama, tak to vypisuje správný výsledek. |
||
Časová prodleva: 11 let
|
0