![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jak powinno się poprawnie zamieniać czas tak by u każdego był wyświetlany poprawnie?
W bazie mam w różnych tabelach pola typu DATETIME, zapisuję do nich datę używając NOW(). Chciałbym móc wyciągnąć tę datę najlepiej już przeliczoną na odpowiednią strefę czasową, albo - jeśli to nie jest dobry pomysł - przeliczyć ją w PHP i następnie wyświetlić. Domyślam się, że musiałbym dać użytkownikom możliwość ustawienia strefy czasowej, w której się znajdują i domyślną (+1 godzina dla użytkowników z Polski) - gdy nie ustawią. Na razie normalnie wyciągam datę z bazy i przeliczam ją za pomocą funkcji: w taki sposób: Gdzie "1" to w tym wypadku +1 godzina. Jeśli teraz dodam użytkownikom możliwość wybrania strefy czasowej i uwzględnię ten wybór w funkcji to będzie zawsze poprawnie wyliczało czas? A może zrobić to inaczej? I jak myślicie - jak to robią inni webmasterzy na swoich stronach, np. w artykułach? Jeśli się nie mylę to w phpbb zostało to zrobione tak jak pisałem na początku. A może dałoby się to dostosować jeszcze lepiej - co do minuty? Wiem, że JS jest w tym wypadku niezbędny... Wiem, że jest pełno tematów o tym, ale ja chcę to zrobić porządnie i interesuje mnie jak się powinno to robić, a nie tylko jak można (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Ustawiasz domyślną strefę czasową:
http://pl2.php.net/manual/pl/function.date...imezone-set.php I zmieniasz ją jeśli rozpoznasz, że user łączy się z innej lokalizacji na podstawie IP. Możesz też pozwolić userowi wybrać samemu strefę czasową - na podobnej zasadzie, co język. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
No właśnie też myślałem już o tej geolokalizacji na podstawie IP, widziałem też klasę Scout choć jeszcze nie miałem czasu się jej przyjrzeć. W wolnym czasie spróbuję zrobić tak jak mówisz, jak będę miał jakieś problemy lub pytania to jeszcze będę pisał w tym temacie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.09.2025 - 12:39 |