Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Zmiana strefy czasowej.
Forum PHP.pl > Forum > Przedszkole
Lukis92
Witam. Napotkałem dziwny problem z zmianą strefy czasowej. Ale od początku. Datę pobieram z jsona:
  1. $date = $json[0]->{'date'};
  2. $date = new DateTime($date);

Następnie zmieniam strefę czasową(gdy wyświetlam widzę, że godzina jest o godzinę do tyłu.
  1. date_timezone_set($date, timezone_open('Europe/Warsaw'));

Ale mimo tego nic się nie zmienia. W czym tkwi problem?
Format daty: 2014-10-31T00:00:00Z
nospor
$date = new DateTime($date);
Tworzac ten obiekt masz powiedziec w jakiej strefie go tworzysz. Jak nie podasz to weźmie w domyslnej. Jesli domyslną jest Europe/Warsaw to nie dziw sie, ze zmiana na Europe/Warsaw nic nie daje....

Poza tym strefy dla obiektu DateTime zmienia się w obiekcie funkcją setTimezone().
date_timezone_set sluzy do okreslenia strefy domyslnej
Lukis92
A jeżeli nie działa żadna zmiana strefy czasowej(nawet na pacyficzną)?
nospor
Tworzac obiekt DateTime masz jako drugi parametr przekazac strefe, w jakiej podales godzine.
Potem przy pomocy setTimezone() na tym obiekcie masz zmienic strefe, ktora cię interesuje.

Te dwa kroki dadzą ci poprawny czas w strefie wynikowej. Tu nie ma żadnej filozofii.
ilidir
zachęcam do lektury smile.gif
Temat: PHP Problem z konwersja strefy czasowej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.