Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Czas w aktualnej strefie czasowej
Walian
post
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:
  1. function valid_time($format, $timestamp, $offset)
  2. {
  3. $offset = $offset * 3600;
  4. $timestamp += $offset;
  5. return gmdate($format, $timestamp);
  6. }
w taki sposób:
  1. valid_time('Y-m-d H:i:s', strtotime($row['pole_z_data']), 1)

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)
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: 25.08.2025 - 04:47