Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Data] Formatowanie daty i czasu, DATETIME? Timestamp? Strefy czasowe.
WebCM
post
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).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
WebCM
post
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?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 15:01