Autor Zpráva
PHP_koule
Profil *
Ahoj, chtěl jsem se zeptat, zda existuje možnost přeformátovat čas z databáze.
Vrací se mi 2012-07-29 20:04:09. Toto se snažím přepsat na vteřiny, abych pak mohl dále pracovat s funkcí Date().
Zkoušel jsem mktime aj, ale vždy se mi dopočítávají vteřiny. Moc dík za pomoc.
Majkl578
Profil
Používej rozumné datové funkce, nepřeváděj datum/čas na Unix timestamp. Slouží k tomu třída DateTime.

$date = \DateTime::createFromFormat('Y-m-d H:i:s', '2012-07-29 20:04:09');
PHP_koule
Profil *
Já mám v databázi DATETIME. Jen mi to nejde přeformátovat. (nedaří se mi přehodit měsíce a dny.)
Alphard
Profil
To je naprosto správně, že je v databázi datetime. Ale Datetime je zároveň PHP třída, Majkl ukazuje, jak z db formátu vytvořit instanci Datetime. Pak už je s datem snadná práce, viz metoda format().
PHP_koule
Profil *
Vyřešil jsem takto:

    $date = date_create_from_format("Y-m-d H:i:s", $vytazeni['datum']);
    $datum_vlozeni = date_format($date, "H:i:s, j-m-Y");
yngwie
Profil
aj takto to ide

$date = date('d.m.Y H:i:s', strtotime('2012-07-29 20:04:09'));
Majkl578
Profil
Což je procedurální řešení toho, co jsem načal:
$date = \DateTime::createFromFormat('Y-m-d H:i:s', '2012-07-29 20:04:09');
echo $date->format('H:i:s, j-m-Y');

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: