![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Aktualnie przechowuję datę w formacie datetime w MySQL bądź SQLite. Jest jednak problem. Data jest sztywna - przystosowana tylko dla 1 strefy czasowej.
Funkcja formatująca datę: http://www.unit1.pl/pb-806 1. Datę można przechowywać jako timestamp. Wtedy w PHP formatujemy ją za pomocą strftime() lub date(), podając znacznik czasu jako drugi parametr. 2. Jeśli news został napisany dzisiaj, zamiast daty powinien wyświetlić się napis "Dzisiaj". W przypadku użycia timestamp raczej nie będzie to łatwe. Gdy datę przechowujemy jako datetime - odsyłam do kodu (link wyżej). (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zależy mi przede wszystkim na wydajności odczytu i formatowania daty i czasu. Co możecie doradzić? PS. Pamiętajcie, że czasem czas jest zbędny (ważna tylko data). |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Może ustawiam złą lokalizację w setlocale() na localhost (WinXP)? Prawdopodobnie tak. Poeksperymentuj z czymś w rodzaju: - może nie działać na wszystkich serwerach. Cytat Czy konieczna jest zamiana daty na timestamp? - tak czy inaczej nie unikniesz zamiany datetime na timestamp w skrypcie, a datę (obojętnie datetime czy timestamp) i tak musisz formatować. Konieczne to nie jest, specjalnie nie ma też pewnie wpływu na wydajność, ale moim zdaniem wygodne.Musisz się na coś zdecydować - ważne, że jak zdecydujesz się na taki czy owaki format daty, to musisz tego konsekwentnie używać wszędzie. Ja bym się skłaniał ku int - dla mnie ten format daty jest prostszy i bardziej logiczny a formatowanie i "obrabianie" daty po stronie PHP przecież nie sprawia problemów z wydajnością - zresztą twórcy PHP chyba też tak sądzą, bo wyraźnie preferują timestamp. Cytat ...z użyciem funkcji MONTH(), której brakuje w SQLite, pewnie wygrałby typ DATETIME - nie byłbym taki pewien - integery chodzą jak burza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Poza tym baza jest często na innym serwerze no i jak dla mnie baza to baza, ma przechowywać dane, a nie je obrabiać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 04:08 |