Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]wszystkie daty z przedziału
bluebird
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 9.09.2009

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


witam mam pewien problem: przyjmijmy że mamy wstępnie dane

  1. $start="1.9.2010";
  2. $stop="30.10.2010";


w jaki sposób wypisać wszystkie daty w przedziale zamkniętym od start do stop?

Ten post edytował bluebird 22.07.2010, 10:49:47
Go to the top of the page
+Quote Post
attimo
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 6
Dołączył: 23.01.2010

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


ja przerabiam date na czas unixsowy i potem to obliczam. 1 wartosc w czasie unixsowym to jedna sekunda stad latwo obliczyc roznice.
Go to the top of the page
+Quote Post
bluebird
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 9.09.2009

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


rozwiązałem problem:

  1. $u_start= @mktime(0,0,0,$miesiac_start,$dzien_start,$rok_start);
  2. $u_stop= @mktime(0,0,0,$miesiac_stop,$dzien_stop,$rok_stop);
  3. $ile_dni = ceil(($u_stop-$u_start)/(60*60*24));
  4. for($j=0;$j<=$ile_dni;$j++){
  5. echo date ("d.m.Y", mktime (0,0,0,$miesiac_start,$dzien_start+$j,$rok_start))."<br/>";
  6. }


pozdrawiam
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

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


Można też użyć prostszego sposobu

  1. $start = strtotime('01.09.2010');
  2. $stop = strtotime('30.10.2010');
  3. while($start < $stop+1){
  4. echo date('d/m/Y', $start).'<br/>';
  5. $start = strtotime('+1 day', $start);
  6. }


Ten post edytował Wicepsik 22.07.2010, 13:07:21


--------------------
Go to the top of the page
+Quote Post

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: 21.08.2025 - 14:03