![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pewien problem - nie mogę zmusić swojego interpretera do rozpoznania podanej mu daty czy jest ona w czasie letnim, czy zimowym...
Czemu w obu przypadkach date("I") zwraca 0? Czy jest tam jakiś błąd? Czy istnieje inny sposób rozpoznawania czasu? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 0 Dołączył: 4.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ustawienie strefy nic nie daje - efekt nadal ten sam.
Generalnie to chcę uniknąć manipulowania strefą czasową - chodzi głównie o bazę danych. Przyjąłem dla aplikacji model, w którym dane w bazie zapisywane są w oparciu o jedną strefę czasową przez cały rok bez rozróżniania zimy czy lata. Powód jest oczywisty - uniknięcie dublowania godzin zapisu rekordów (większość tabel gromadzących dane ma potrzebny timestamp) lub braku rekordów z danej godziny podczas zmian czasów. W ten sposób rozróżnienie czasu zrzucam jedną prostą funkcją na skrypty wyświetlające dane, a te, w zależności od tego jaki jest czas, mają tłumaczyć daty (dodawać/odejmować godzinę lub pozostawić datę bez zmian). Samo date("I") działa poprawnie - kiedy był czas letni, to zwracało letni, kiedy zimowy, to zwraca zimowy, ale ja potrzebuję określić ten czas dla podanej konkretnie daty, a nie dla 'teraz'. //dodam, iż sprawdzałem skrypt na lokalu jak i na serwerze hostingowym, echo date_default_timezone_get(); odpowiednio zwraca Europe/Warsaw Ten post edytował jurcio6 3.01.2012, 13:38:36 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 307 Pomógł: 37 Dołączył: 9.11.2010 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Ustawienie strefy nic nie daje - efekt nadal ten sam. Samo date("I") działa poprawnie - kiedy był czas letni, to zwracało letni, kiedy zimowy, to zwraca zimowy, ale ja potrzebuję określić ten czas dla podanej konkretnie daty, a nie dla 'teraz'. Z całym szacunkiem, nie widzę fizycznej możliwości aby to co mówisz było prawdą. Chcesz mi powiedzieć że interpreter PHP zwraca inny wynik gdy nie podasz mu czasu (czyli 'teraz') a gdy podasz mu te 'teraz' ręcznie ? Oczywiście nikogo nie obrażam, może jedynie nie widzisz czegoś co zmienia się pomiędzy tymi testami. Ten post edytował Uriziel01 3.01.2012, 14:56:43 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 09:34 |