![]() |
![]() |
![]() ![]()
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: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Co z tego, że MySQL oferuje takie funkcje, jeżeli brakuje ich w SQLite lub mają inne nazwy? Przypominam, że skrypt być zgodny z tymi 2 silnikami SQL. Aby osiągnąć efekt, musiałbym dodawać wstawki lub funkcje generujące fragment zapytania do bazy, aby pobrać właściwie sformatowaną datę. A gdy dodam obsługę kolejnego silnika?
Jest jeszcze 1 wyjście - funkcje w SQL. Definiowałoby się je przy połączeniu bądź na żądanie. Osobny kod dla MySQL i SQLite. Nie wiem, jak to przełoży się na wydajność, bo trzeba wysłać dodatkowe zapytanie. Co w takim razie radzicie? Formatowanie daty po stronie PHP czy SQL? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 15:01 |