#1 před 3 lety

skocourek
Člen
Registrovaný: 15. 6. 2007
Příspěvky: 200

Datum a čas v databázi

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?

 

#2 před 3 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Datum a čas v databázi

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.

 

#3 před 3 lety

skocourek
Člen
Registrovaný: 15. 6. 2007
Příspěvky: 200

Re: Datum a čas v databázi

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.

 

#4 před 3 lety

SniperCZE
Člen
Registrovaný: 6. 1. 2009
Příspěvky: 13

Re: Datum a čas v databázi

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.)

 

#5 před 3 lety

Wosonj
Člen
Registrovaný: 22. 12. 2008
Příspěvky: 65

Re: Datum a čas v databázi

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/

 

Zápatí