Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Operacje na datach, php myli sie o 1 dzien..
krzyzak_p
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 10.10.2004

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


Na potrzeby pewnej stronki, ktora tworze potrzebowalem skrypt, ktory bedzie wyswietlal date najblizszego dnia tygodnia (pon, wt, sr), a takze date takiego dnia za x tygodni..
Napisalem sobie funkcje o nastepujacym kodzie:
  1. <?php
  2. function nast_dzien($dzien, $tygodni){
  3. $aktualny_d_t = date("w");
  4.  
  5. if($aktualny_d_t > $dzien){
  6. $roznica = $aktualny_d_t - $dzien;
  7. $next_wybrany_d_t = 7 - $roznica;
  8. }
  9. elseif($aktualny_d_t == $dzien) $next_wybrany_d_t = 7;
  10. elseif($akutalny_d_t < $dzien){
  11. $next_wybrany_d_t = $dzien - $aktualny_d_t;
  12. }
  13.  
  14. $dni = $next_wybrany_d_t + ($tygodni*7);
  15. $data = date("Y-m-d");
  16. $wynik = date("d.m.Y",(strtotime($data) + (3600*24*$dni)));
  17. return $wynik;
  18.  
  19. }
  20.  
  21. echo nast_dzien(6, 16);
  22. ?>

pierwsza zmienna to dzien tygodnia (format taki jak zwraca date("w")winksmiley.jpg, i za ile tygodni ma znalezc taki dzien tygodnia..
W powyzszym przykladzie wyswietla mi najblizsza sobote za 16tygodni, a skrypt wyswietla 7.12.2007, co po sprawdzeniu w 3 roznych kalendarzach jest piatkiem, a nie sobota;/
Dodam tylko ze dla mniejszego zakresu dat (gdy dzien, ktory chce uzyskac jest najdalej ostatnim dniem pazdziernika) caly skrypt dziala dobrze, ale od listopada cos sie zaczyna krzaczyc i to niezaleznie od platformy i wersji php (win, linux, php5.1, php5.2)...
Ma ktos moze pomysl co moze byc tego przyczyna?
Go to the top of the page
+Quote Post

Posty w temacie
- krzyzak_p   Operacje na datach   15.08.2007, 17:55:18
- - emacieka   [PHP] pobierz, plaintext <?phpfunction nast_dzi...   15.08.2007, 19:51:00


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 07:31