Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyswietlanie nr tygodni danego miesiaca
alpin
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 15.03.2004

Ostrzeżenie: (10%)
X----


Witam, napotkałem mały problem w swoim skrypcie, banalny, ale nie bardzo wiem jak go "ładnie" rozwiązać. A mianowicie ... tworze kalendaria ..
Główna daną wejściową jest rok ... później robię pętle na poszczególne tygodnie i wyciągam sobie potrzebne dane. Potrzebuje wyświetlić numery tygodni poszczególnego miesiąca, doszedłem do czegoś takiego:

  1. <?
  2.  
  3. $year =2013;
  4.  
  5. for($week_number=1; $week_number<53; $week_number++)
  6.  
  7. {
  8. if($week_number<10) { $week_number="0$week_number";}
  9.  
  10. $miesiac_7_dnia = date("n",strtotime($year."-W".$week_number."-7")); //n Liczbowa forma miesiąca, bez zer wiodących 1 aż do 12
  11. $rok_7_dnia = date("Y",strtotime($year."-W".$week_number."-7"));
  12.  
  13.  
  14. $ile_dni_ma_miesiac=date("t",strtotime("1-$miesiac_7_dnia-$rok_7_dnia"));
  15.  
  16. //echo "$ile_dni_ma_miesiac<br><Br>";
  17.  
  18. $nr_tyg_start=date("W", strtotime("01-$miesiac_7_dnia-$rok_7_dnia"));
  19. $nr_tyg_stop=date("W",strtotime("$ile_dni_ma_miesiac-$miesiac_7_dnia-$rok_7_dnia"));
  20.  
  21. //echo "nr tyg start $nr_tyg_start nr tyg stop $nr_tyg_stop<br><br>";
  22.  
  23. echo "Miesiac nr $miesiac_7_dnia posiada nastepujace nr tygodni:<br>";
  24. for($i=$nr_tyg_start; $i<=$nr_tyg_stop; $i++){
  25.  
  26. echo (int)$i."<br>";
  27. }
  28. echo "<br>";
  29. }
  30.  
  31. ?>


I to działa ale nie do końca, ponieważ ostatni dzień grudnia jest juz 1 tygodniem nowego roku i pętla mi sie nie wykonuje, myslałem o jakichś wyrażeniach warunkowych ale to chyba juz będzie przekombinowane, myślę że da się to zrobić w jakiś prostszy sposób ale jakoś nie wpada mi do głowy. Podsumowując chodzi mi o nastepujacy wynik :

  1. $miesiac_7_dnia = date("n",strtotime($year."-W".$week_number."-7")); //n Liczbowa forma miesiąca, bez zer wiodących 1 aż do 12
  2. // np 1 czyli Styczeń
  3. // wynik może być tablica np. $numery_tygodni=array("1","2","3","4","5");
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.08.2025 - 01:13