PHP fóra: Builder | JakPsatWeb | Webtrh
Nejste přihlášen(a)
Vyvíjím teď jednu větší aplikaci (návrh databáze je za chodu) a přemýšlím, v jakém formátu je nejlepší uchovávat v databázi (např. MySQL) údaje o datumu a čase? Například čas vytvoření článku a tak dále.
V podobě YYYY-MM-DD HH:II:SS, čili v nativním MySQL formátu, nebo jako Unix timestamp?
Jaké jsou zkušenosti?
Doporucuji nativni MySQL format. Prijde mi to pohodlnejsi co se tyce prace primo s DB (phpminiadmin). MySQL na to bude PRAVDEPODOBNe optimalizovana. Ma pro to X funkco pro praci s datumy. A je tam i jedna pro prevod na Unix timestamp.
A lze toto datum v PHP získat nějak „elegantněji“, než jak je
níže uvedeno? Nebo bude lepší mít někde v app metodu, třeba
getMysqlNow(), která mi tohle vrátí?
<?php
Date('Y-m-d H:i:s');
?>
A ještě jeden dotaz, jak lze potom realizovat (třeba při dotazech na databázi tam, kde nebudu používat dibi) přičítání sekund, minut, … – třeba pro získání článků ne starších než 10 dnů atp…?
Díky za odpovědi.
Ponechme stranou, ze u velky aplikace (vlastne u jakykoliv, ale u velky jednoznacne) by vsemu mela predchazet analyza, ze ktery by struktura db mela vyplynout. nicmene jednoznacne pouzivej nativni typy databaze, mnohem lip se s tim pracuje (rozdil datumu na urovni db apod.)
skocourek: SELECT … WHERE datum>NOW() – INTERVAL 10 DAY
Nativni formaty SQL pouzivam tam, kde je potreba zadat jen datum bez casu, nebo tam, kde je potreba vetsi rozsah nez je unix epocha. Na takove veci jako posledni pristup, datum ulozeni apod. uz nove pouzivam unix timestamp. Je s tim jednodussi prace a zabira to min mista. Krome toho me tam neotravuje MySQL vymysl automaticke aktualizace prvniho timestampu v tabulce…
hledáme zkušené programátory v PHP / Nette: http://www.twobits.cz/volna-mista/