Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Miesiące, Może ktoś robił coś podobnego
NuLL
post
Post #1





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


Hi all :-)

Mam dwie daty w formacie timestampa. Jak pobrać wszystkie miesiące zawarte pomiędzy nimi. (IMG:http://forum.php.pl/style_emoticons/default/aarambo.gif) Łatwo by było, gdyby miesiące miały tą samą ilość dni - ale nie mają. Jakieś pomysły, sugestie...?

EDIt - juz prawie wykombinowalem tak wiec temat jest do skasowania.

BTW. Czemu nie mozna skasowac wlasnorecznie napisanego tematu ?

Ten post edytował NuLL 3.05.2005, 12:32:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Moj kod byl ok, bo zalozenia mialem innne: liczylem CALE miesiace miedzy datami.
(specjalnie dalem te daty $d2 = '2006-03-15' i $d2 = '2006-03-20' zeby to pokazac)
A jesli uwzgledniamy niepelne miesiace to kod powienien wygladac tak:
{no i tu mial byc kod, ale nie wyszlo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , moze umieszcze pozniej}

Pozniej nastalo, strzezcie sie:P
  1. <pre><?php
  2. /**
  3.  * Wyznacza wszystkie miesiace (jakie wystepuja -- nie pelne miesiace) miedzy dwoma datami
  4.  */
  5. $d1 = '2005-11-30';
  6. $d2 = '2006-02-13';
  7.  
  8. $date_1 = strtotime( $d1 );
  9. $date_2 = strtotime( $d2 );
  10.  
  11. // przejscie do pierwszego dnia tego miesiaca, dzieki temu obliczenia sa prostsze
  12. $date_1 = mktime( 1, 0, 0, date( 'n', $date_1 ), 1, date( 'Y', $date_1 ) );
  13. $date_2 = mktime( 1, 0, 0, date( 'n', $date_2 ), 1, date( 'Y', $date_2 ) );
  14.  
  15.  
  16. $arrMonths = array();
  17. $temp_date = $date_1;
  18.  
  19. while ( $temp_date <= $date_2 )
  20. {
  21. $arrMonths[] = date( 'F', $temp_date );
  22. $temp_date = strtotime( '+1 month', $temp_date );
  23. }
  24.  
  25. print( $d1 . ' --&gt; ' . date( 'Y-m-d', $date_1 ) . '<br />' );
  26. print( $d2 . ' --&gt; ' . date( 'Y-m-d', $date_2 ) . '<br />' );
  27. print_r( $arrMonths );
  28.  
  29. ?></pre>


Ten post edytował dr_bonzo 9.05.2005, 16:49:44
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: 28.12.2025 - 00:36