Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozpoznanie podanej daty - czas zimowy czy letni, z wykorzystaniem date("I")
jurcio6
post
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...

  1. <?php
  2. if(date("I", strtotime('2011-01-29')) == 0)
  3. echo 'zimowy';
  4. else
  5. echo 'letni';
  6. //zwraca: zimowy
  7.  
  8. if(date("I", strtotime('2011-09-10')) == 0)
  9. echo 'zimowy';
  10. else
  11. echo 'letni';
  12. //zwraca: zimowy
  13.  
  14. ?>


Czemu w obu przypadkach date("I") zwraca 0? Czy jest tam jakiś błąd? Czy istnieje inny sposób rozpoznawania czasu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jurcio6
post
Post #2





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 4.11.2010

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


Ok, teraz stało się coś zupełnie dziwnego, bo nagle wszystko zaczęło działać... Odpaliłem ponownie następujący kod:
  1. echo date_default_timezone_get(); //na localu zwracało mi UTC, na hostingu Europe/Warsaw
  2. date_default_timezone_set('Europe/Warsaw');
  3. echo date_default_timezone_get(); // po ustawieniu w obu wypadkach daje Europe/Warsaw
  4. if(date("I", strtotime('2011-09-10')) == 0)
  5. echo 'zimowy';
  6. else
  7. echo 'letni';
  8. //zwraca letni, czyli dobrze

Wygląda na to, że skrypt nie radził sobie z datą sformatowaną przez date podaną jako argument dla funkcji date, tj.
  1. if(date("I", date("Y-m-d H:i:s", strtotime('2011-09-10'))) == 0)

Nie działał on również przy strefie czasowej ustawionej na UTC oraz GMT.

Dziwi mnie jedynie fakt, że już wcześniej testowałem go w kilku różnych, m.in. w podanych wyżej wariantach.. albo mi coś umknęło, albo póki co działa to to jak chce - na pewno będę się jeszcze przyglądał temu wszystkiemu.

Dzięki za naprowadzenie na temat.

Ten post edytował jurcio6 3.01.2012, 15:48:43
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: 8.10.2025 - 14:45