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