Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ilość konretnych dni tygodnia w przedziale daty
Forum PHP.pl > Forum > PHP
rafalp
Jak by to rozwiązać, mam np.

  1. $date_from = '2011-01-01';
  2. $date_to = '2011-10-10';


I chce wiedzieć ile wystąpiło np. poniedziałków w tej przedziale daty..


jakieś pomysły poza tym:

że sprawdzam w pętli ten zakres zwiększając o dzień i sprawdzając czy dana data jest poniedziałkiem ($dzien_tygodnia=date("D",$data)wink.gif i itd, zwiększając wartości ilosc_poniedziałków++;

Fifi209
Hmm, to może spróbuj inaczej:
Oblicz różnicę w dniach, sprawdź jaki dzień był w przedziale od, jeżeli to jest poniedziałek to dziel przez 7 liczbę dni, jeżeli nie to dodaj tyle dni, aby był poniedziałek i dopiero dziel - może się sprawdzi.

Napisałem coś takiego dla Ciebie:

  1. <?php
  2.  
  3. $date_from = '2011-07-01';
  4. $date_to = '2011-08-07';
  5.  
  6. $t_zone = new DateTimeZone("Europe/Warsaw");
  7.  
  8. $d = date("D", strtotime($date_from));
  9.  
  10. while ($d != 'Mon') {
  11. $d = date("D", strtotime($date_from)+3600*24);
  12. $date_from = date("Y-m-d", strtotime($date_from)+3600*24);
  13. }
  14.  
  15. echo $d.'<br/>';
  16. echo $date_from.'<br/>';
  17.  
  18. $t_from = new DateTime($date_from, $t_zone);
  19. $t_to = new DateTime($date_to, $t_zone);
  20.  
  21. $diff = $t_from->diff($t_to);
  22. $days = $diff->format("%a");
  23.  
  24. $x = round($days / 7);
  25.  
  26. echo $days.'<br/>';
  27. echo $x;
  28.  
  29.  
  30. ?>
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.