Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ustalanie timestampów pierwszych i ostatnich, dni n miesięcy wstecz.
radziel
post 13.03.2006, 18:54:11
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 0
Dołączył: 25.04.2003
Skąd: Olsztyn

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


W celach debugowania i przedstawienia problemu napisałem szybko taki kod:

  1. <?
  2. define('NUMBER_OF_LAST_MONTHS',6);
  3.  
  4. $arrMonths = array('niezidentyfikowany','Styczeń','Luty','Marzec','Kwiecien','Maj','Czerwiec','Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień');
  5. $arrMonthsAng = array('none', 'January','February','March','April','May','June','July','August','September','October','November','December');
  6. $intMonth = date('n');
  7.  
  8.  
  9. for ($i = $intMonth; $i>$intMonth-NUMBER_OF_LAST_MONTHS; $i--)
  10. {
  11. $intMonthID = ($i<=0)?(12-abs($i)):$i;
  12. $intYear = ($i<=0)?date('Y')-1:date('Y');
  13.  
  14. echo '<b>'.$arrMonths[$intMonthID] .' '.$intYear . '</b><br />'
  15.  .'Poczatek: '. date('l dS of F Y h:i:s A',strtotime('1 '.$arrMonthsAng[$intMonthID].' '.$intYear)).' <br>'
  16. .'Koniec: '. date('l dS of F Y h:i:s A',strtotime('last day '.$arrMonthsAng[$intMonthID].' '.$intYear)).' <br>';
  17.  
  18. }
  19.  
  20. ?>


Potrzebuję Timestampy pierwszych i ostatnich dni n miesięcy wstecz. Powyższy kod, w takiej postaci (^^) zwróci:

Cytat
Marzec 2006
Poczatek: Wednesday 01st of March 2006 12:00:00 AM
Koniec: Sunday 12th of March 2006 12:00:00 AM
Luty 2006
Poczatek: Wednesday 01st of February 2006 12:00:00 AM
Koniec: Sunday 12th of February 2006 12:00:00 AM
Styczeń 2006
Poczatek: Sunday 01st of January 2006 12:00:00 AM
Koniec: Thursday 12th of January 2006 12:00:00 AM
Grudzień 2005
Poczatek: Thursday 01st of December 2005 12:00:00 AM
Koniec: Monday 12th of December 2005 12:00:00 AM
Listopad 2005
Poczatek: Tuesday 01st of November 2005 12:00:00 AM
Koniec: Saturday 12th of November 2005 12:00:00 AM
Październik 2005
Poczatek: Saturday 01st of October 2005 12:00:00 AM
Koniec: Wednesday 12th of October 2005 12:00:00 AM


Problem mam z ustaleniem końca każdego miesiąca. Nie mogę na stałe przypisać każdemu miesiącowi 30 dni gdyż to nie jest prawda a ja potrzebuję dokładnych danych. Tak samo jest z lutym - raz ma 28 raz 29 dni.

Myślałem że "Last day" odnosi się do ostatniego dnia każdego miesiąca ale się myliłem. Na stronie: Date input formats, nie znalazłem nic co by mi pomogło. Coś przeoczyłem?

Ktoś ma pomysł jak rozwiązać ten problem?


--------------------
r.
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:11