![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem za bardzo skad sie bierze przesuniecie o godzine, jezeli chodzi o interpretacje tej samej liczby reprezentujacej date przez php oraz JS. 1. Czy funkcja time() zwarca znacznik aktualnego czasu GTM+0 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) 2. Czy JS na wejsciu przyjmuje czas GTM+0, a na wyjsciu uwzglednia przesuniecie lokalnego czasu (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) 3. Jak sie ma sprawa z czasem letnim/zimowych, czy to jest w jakis sposob uwzgledniane (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) --- Generalnie php ma zapisywac czasy dodania wiadomosci. W chwili otwarcia strony beda one przeslane do przegladarki bez zadnej obrobki. Dopiero JS ma sie za to zabrac i wyswietlic dane przeliczone na czas lokalny. To tak jak na forum - wyswietla sie data dodania postu - w kazdym kraju lokalna w zaleznosci od strefy czasowej. Ja chce to osiagnac przy pomocy JS, aby php nie dokonywalo zadnych obliczen. Jakich funcji uzyc po strone php a jakich po stronie JS zeby dzialalo to poprawnie i uwzglednialo czas letni/zimowy. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 2 Dołączył: 24.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat time() zwraca czas lokalny time() nie zwraca czasu lokalnego ani czasu UTC (GTM) lecz zgodnie z manualem: Cytat Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT). liczbę sekund od 1 stycznia 1970 00:00:00 GMT (czasu londynskiego). Znacznik ten jest na calym swiecie z danym momencie jednakowy, niezaleznie od wersji php oraz ustawien date_default_timezone_set(). Wszystko zalezy jak wykorzysta sie jego wartosc. Funcja date() przy formatowaniu daty ze znacznika automatycznie dolicza przesuniecie czasu lokalnego. Natomiast fukcja gmdate() nie wprowadza tej korekty, czyli otrzymujemy czas UTC (GTM, londynski). --- Zamieszanie z roznica czasow, jakie wyswietlal pierwszy moj skrypt wzielo sie stad, ze funcja php date() (jak rowniez funkcje JS: getDate(), getMonth(), getFullYear(), getHours(), getMinutes(), getSeconds()) formatuje date czasu lokalnego ze znacznika czasu. Poniewaz w php mialem zdefiniowany czas lokalny londynski (dla funkcji date()), a w windowsie (dla JS) polski powstawala roznica 1h. A tak to powinno wygladac, aby nie dochodzilo do roznic:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 16:46 |