![]() |
![]() |
![]() ![]()
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: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
przecież pomoc masz jak na dłoni. nie potrzebuję twojego pomógł, ale przecież 6 postów wyżej masz na tacy podane rozwiązanie. wystarczy zajrzeć do jakiegokolwiek manuala MySQL5 żeby sprawdzić, że:
DATE_FORMAT( ... ) - formatuje ci wyświetlanie daty tak jak sobie życzysz... CONVERT_TZ( ... ) - dopasowuje ci datę i czas do określonej strefy czasowej (Time Zone) CURDATE( ... ) - zwraca ci bieżącą datę, co w połączeniu z IF( ... ) umożliwia prostą generację napisu "Dzisiaj" ... a wszystko bezpośrednio w MySQL - bez żadnych dodatków w skrypcie PHP - nie wymyślisz optymalniejszego i wydajniejszego mechanizmu... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:46 |