Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Strefa czasowa
bmati666
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

Ostrzeżenie: (0%)
-----


Witam,
Czy jest możliwość sprawdzenia z jakiej strefy czasowej jest użytkownik?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Wazniak96
post
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

Ostrzeżenie: (0%)
-----


W tablicy $_SERVER masz informacje na temat kraju z którego jest otwierana strona. Dalej powinieneś wiedzieć co robić (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
hind
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 24
Dołączył: 30.03.2009
Skąd: Rokitno Szlacheckie

Ostrzeżenie: (0%)
-----


Do tego w JavaScript można pobrać aktualną strefę czasow 
Go to the top of the page
+Quote Post
bmati666
post
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

Ostrzeżenie: (0%)
-----


A co jeśli to będzie USA? Tam jest kilka stref czasowych.
Go to the top of the page
+Quote Post
Wazniak96
post
Post #5





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

Ostrzeżenie: (0%)
-----


Nom to w PHP z tego co wiem nie uzyskasz takich danych, ale możesz z Js tak jak napisał kolega wyżej.

Swoją drogą często w formularzach istnieje pole strefy czasowej. Czemu po prostu tak nie zrobisz?
Go to the top of the page
+Quote Post
bmati666
post
Post #6





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

Ostrzeżenie: (0%)
-----


Pytałem bardziej z ciekawości, nie jest mi to aż tak bardzo potrzebne. Zastanawiałem się jak działają strony właśnie w USA jak dodają jakieś posty, żeby każdemu pokazała się godzina dodania w jego strefie. A czy mógłby ktoś podać przykład jak zrobić to w JS?
Go to the top of the page
+Quote Post
Wazniak96
post
Post #7





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

Ostrzeżenie: (0%)
-----


klyyk!
Go to the top of the page
+Quote Post
by_ikar
post
Post #8





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Strefy czasowe i ich standaryzacja, to jest jakaś masakra, na szczęście są ludzie którzy się podejmują takich zadań i starają się obsłużyć każdy wyjątek. W JS korzystam z tego liba: http://pellepim.bitbucket.org/jstz/ który rozwiązuje wiele problemów.
Go to the top of the page
+Quote Post
bmati666
post
Post #9





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

Ostrzeżenie: (0%)
-----


Dokładnie o coś takiego mi chodziło.
A konkretnie chodziło mi o to, żeby to co wyświetla wkleić do date_default_timezone_set('');
Jest taka możliwość?

Plik, który wyświetla strefę:
  1. <!DOCTYPE html>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  3. <script type="text/javascript" src="../dist/jstz.js"></script>
  4. </head>
  5.  
  6. <div id="testArea"></div>
  7. <script type="text/javascript">
  8. var counter = 1;
  9. var interval = setInterval(function () {
  10. document.getElementById('testArea').innerHTML = counter + ": " + jstz.determine().name() + "<br/>";
  11. counter++;
  12. }, 2000);
  13.  
  14. </body>
  15.  
  16. </html>


Jak to "jstz.determine().name()" wkleić do date_default_timezone_set('');?

Ten post edytował bmati666 19.03.2016, 15:30:10
Go to the top of the page
+Quote Post
kajzur
post
Post #10





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


To nie takie proste. Musisz to wysłać AJAXem do jakiegoś pliku PHP. A tam zrobić ini_set z wartością pobraną z JSa.
Go to the top of the page
+Quote Post
markonix
post
Post #11





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Przecież to tylko ustawi strefę dla skryptu, który uruchamia się tym AJAXem.
Jak już to tam bym to zapisał w ciasteczku lub sesji w zależności od potrzeb.
Go to the top of the page
+Quote Post
kajzur
post
Post #12





Grupa: Zarejestrowani
Postów: 385
Pomógł: 26
Dołączył: 22.03.2008
Skąd: TM

Ostrzeżenie: (0%)
-----


Pytanie było jak wkleić wartość w date_default_timezone_set - więc na nie odpowiedziałem.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #13





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Co z tego że pytanie było takie, skoro i tak nie będzie działało tak jak autor tego chce (a co chce można się dowiedzieć z postów)

Ja bym chyba zrobił tak, że na podstawie $_SERWER ustawił w Cookie TZ domyślne. Potem w JS sprawdził dokładniej. Jeśli się nie zgadza to wyświetlić monit użytkownikowi że wykrył inny TZ niż ten co już mamy. Jeśli tak się stanie niech to zaakceptuje i wtedy robisz POST i ustawiasz poprawne TZ w Cookie.

Dalej już problemu nie ma bo operujesz na TZ z cookie.

Jeśli się TZ zmieni (nie będzie identyczne z tym co jest w Cookie) to znowu monit że się zmieniła strefa.

To da Ci możliwość ustawienia raz (aż ktoś cookie nie wyczyści) i problem rozwiązany.
Go to the top of the page
+Quote Post
bmati666
post
Post #14





Grupa: Zarejestrowani
Postów: 57
Pomógł: 1
Dołączył: 12.02.2016

Ostrzeżenie: (0%)
-----


Dzięki wszystkim za pomoc, trochę to pomieszane ale udało się. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 24.08.2025 - 20:36