#1 23. 2. 2009 1:32

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

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?

Offline

 

#2 23. 2. 2009 8:07

phx
Moderator
Místo: HK
Registrovaný: 17. 4. 2008
Příspěvky: 780
Web

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.

Offline

 

#3 23. 2. 2009 8:59

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

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.

Offline

 

#4 23. 2. 2009 9:01

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

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

Offline

 

#5 23. 2. 2009 10:04

Wosonj
Člen
Místo: Brno
Registrovaný: 22. 12. 2008
Příspěvky: 63
Web

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/

Offline

 

Zápatí