Autor | Zpráva | ||
---|---|---|---|
PHP_koule Profil * |
#1 · Zasláno: 3. 8. 2012, 16:22:38
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 |
#2 · Zasláno: 3. 8. 2012, 16:24:52
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 * |
#3 · Zasláno: 3. 8. 2012, 16:30:56
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 |
#4 · Zasláno: 3. 8. 2012, 17:30:28
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 * |
#5 · Zasláno: 3. 8. 2012, 19:13:47
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 |
#6 · Zasláno: 3. 8. 2012, 19:16:01
aj takto to ide
$date = date('d.m.Y H:i:s', strtotime('2012-07-29 20:04:09')); |
||
Majkl578 Profil |
#7 · Zasláno: 3. 8. 2012, 19:16:37
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'); |
||
Časová prodleva: 12 let
|
0