Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]inkrementacja daty
Forum PHP.pl > Forum > Przedszkole
zbychu1985
Cześć! programuje w php od tygodnia i słabo u mnie nie tylko z pisaniem kodu ale również wyszukiwaniem tematów w Google ze wzgleadu na nie obycie z słownictwem.

A teraz pytanie:
W jaki sposób można wyciągnąć daty w formacie 2020-01-26 na 365 dni do przodu ikrementując o jeden dzień?
Próbowałem zrobić to pętlą for z funkcji date( 'Y-m-d' ) ale nie hula.Pomocy.
  1.  
  2. $stara_data = date( 'Y-m-d' );
  3. $nowa_data = date( 'Y-m-d', strtotime( $stara_data .' +1 day' ));
  4.  
  5.  
  6.  
  7. for($i=$stara_data; $i<=365; $i=$i + $stara_data)
  8. {
  9. echo $i;
  10. }
  11.  
  12.  
kreatiff
Nie możesz mieszać w pętli for daty i zwykłego integera, bo nic z tego nie wyjdzie. Obiektowo możesz tak:
  1. $data = DateTime::createFromFormat('Y-m-d', '2020-01-26');
  2. for ($i = 1; $i < 366; $i++) {
  3. $data->modify('+1 day');
  4. echo $data->format('Y-m-d') . '<br>';
  5. }

W Google szukaj "php Datetime" i tam będzie sporo przykładów jak modyfikowac te daty według potrzeby..
zbychu1985
Dzięki kreatiff, pętla działa, a teraz jak wyciągnąć z tej samej pętli:

-miesiąc w formacie słownym np: "STYCZEŃ,
-numer miesiąca w formacie np:"10",
oraz dzień tygodnia w formacie np: PN., WT. ŚR. itd

probowałem wyciągnąć numer miesiąca tak ale nie zwiększa daty:

  1. <?php
  2. $data = DateTime::createFromFormat('Y-m-d', '2020-02-01');
  3. $numer = DateTime::createFromFormat('m', '02');
  4. for ($i = 1; $i < 10; $i++) {
  5. $data->modify('+1 day');
  6. $main_data= $data->format('Y-m-d');
  7.  
  8. $numer->modify('+1 day');
  9. $main_numer= $numer->format('m');
  10. echo $main_numer;
  11.  
  12.  
  13.  
  14. echo "<a href=../../pages/clubs/".$main_data.".php
  15. <div class='card2'>
  16. <div class='month'>STYCZEŃ</div>
  17. <div class='number'>10</div>
  18. <div class='day'>PT.</div>
  19. </div></a>";
  20. }
  21.  
  22. ?>
  23.  
  24.  

LowiczakPL
tu masz podpowiedź jak to wyciągnąć https://www.php.net/manual/en/function.date.php
Tomplus


  1. $date = new DateTime;
  2. for($i=1; $i<=10;$i++) {
  3. $date -> add(new DateInterval('P1D'));
  4. $pelnaData = $date -> format('Y-m-d');
  5. $nrTygodnia = $date -> format('W');
  6. $pelnyMiesiac = $date -> format('F');
  7. $nazwaTygodnia= $date -> format('D');
  8. }


Wynik:
Kod
Data: 2020-01-28
nrT: 05
naT: Tue
M: January


Intervał, dodaje o 1 dzień

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.