Databáze > Obecné

Ako správne pracovať s dátumom III.

(1/1)

František:
stále ten problém s dátumom nemám vyriešený.

mám aplikáciu
ktorá používa MySQL (ukladá dd-mm-yyyy) a aj Firebird (ukladá dd.mm.yyyy), do DB ako VARCHAR,
potrebujem zjednotiť prácu s dátumom a časom,
aplikácia sa používa v rôznych krajinách a preto potrebujem zobrazovať podľa umiestnenia (nastavenia windows locale)

bude mi to takto fungovať?
urobím rutinu/triedu na ukladanie/čítanie pre jednotlive DB, len neviem ako urobiť tu konverziu, lebo
sk,ru: dd.mm.yyyy hh:nn:ss
uk: mm/dd/yyyy hh:nn:ss
fi: dd.mm.yyyy hh.mm.ss
atd ...
ukladať to rozparsované a potom skladať? - moc velký zásah s prerábaním dat v DB, nakoľko to ukladám vo VARCHAR, ale teraz to mam v jednej DB v rôznych formátoch - ak sa menilo locale

ps. a tomuto už vôbec nerozumiem: mám app v rôznych adresároch na jedom kompe a zobrazuje mi rozdielne formáty dátumu

pf1957:

--- Citace: František  28-08-2018, 08:37:49 ---ukladať to rozparsované a potom skladať? - moc velký zásah s prerábaním dat v DB, nakoľko to ukladám vo VARCHAR, ale teraz to mam v jednej DB v rôznych formátoch - ak sa menilo locale

--- Konce citace ---
1. DB model by mel odpovidat pozadavkum tj. k cemu se ulozeny datum a cas pouziva.
2. Z tohoto pohledu nejobecnejsim a vetsinove spravnym resenim je pouzit nativni datovy typ konkretniho RDBMS a nechat konverze na DB vrstve tj. aplikace na strane Delphi pracuje s typem TDateTime a do/z DB ho predava/prebira pomoci .AsDateTime
3. Casovy udaj by mel predstavovat UTC
4. Vetsina RDBMS disponuje nejakymi funkcemi pro praci s datumem a casem, takze s nim lze pomoci techto funkci operovat v SQL prikazech
5. Pokud z nejakeho (pro mne tezko pochopitelneho) duvodu potrebujes zapisovat datum do DB jako text, melo by to vzdycky byt ve formatu ISO 8601 tj.  rok->mesic->datum->hodina->..., aby se podle sloupce dalo prinejmensim tridit...




--- Citace ---ps. a tomuto už vôbec nerozumiem: mám app v rôznych adresároch na jedom kompe a zobrazuje mi rozdielne formáty dátumu

--- Konce citace ---
Na to se neda jednoduse odpovedet, to zalezi jak ho zobrazujes

Navigace

[0] Seznam témat

Přejít na plnou verzi