Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Date w strtotime + pętla.
Forum PHP.pl > Forum > Przedszkole
miras
Witam, mam 2 daty obydwie w postaci strtotime(); jedna data to jest początek a druga to jest koniec, dajmy na to pierwsza data to: 2012-06-10 15
(format Y-m-d H) a data końcowa to: 2012-06-13 14 - oczywiście jest to w strtotime, a ja muszę zrobić jakąś taką inteligentną pętle, która będzie mi wyświetlała date od początku do końca co godzinę,

czyli np. jak mamy start : 2012-06-10 15 to:
2012-06-10 16
2012-06-10 17
2012-06-10 18
2012-06-10 19
2012-06-10 20
2012-06-10 21
2012-06-10 22
2012-06-10 23
2012-06-10 24
2012-06-11 01
2012-06-11 02

itd..


Mam nadzieje, że rozumiecie o co chodzi - dzięki z góry! nie mam pojęcia jak się za to zabrać..
peter13135
Nie rozumiem co to znaczy "format strtotime()". strtotime po prostu przerabia datę w formacie stringu na uniksowany znacznik czasu.

Obie daty skonwertuj do uniksowego znacznika czasu. Zrób sobie pętle for, gdzie $i początkowe to uniksowy znacznik czasu pierwszej daty, $i zwiększaj o 60, dopóki $i < uniksowy znacznik czasu drugiej daty.
Wyświetlaj datę za pomocą funkcji date. Jako pierwszy parametetr podaj "format" tzn. może być to string "Y-m-d H:s" a jako drugi parametrt $i.

oczywiście zamiast $i może być cokolwiek innego, ale najczęściej jest $i, więc tak sobie napisałem.
miras
wszystko rozumiem - tylko dlaczego mam zwiększać o 60, przecież godzina w tym 'uniksowym formacie czasu' to 3600 ?
peter13135
Cóż, w przykładzie zwiększasz co minutę smile.gif
miras
ok, teraz wszystko rozumiem, jakoś pomysłu mi brakowało - dzięki.

Jeszcze mi powiedz jak możesz czemu to się zapętla w nieskońcozność?

  1. <?php
  2.  
  3. $data1=strtotime("2012-06-10 21:00:00");
  4. $data2=strtotime("2012-06-14 14:00:00");
  5.  
  6. for( $x = $data1; $x < $data2; $x+3600 ) {
  7.  
  8. echo date("Y-m-d H:i", $x);
  9. echo "<br>";
  10.  
  11. }
  12.  
  13. ?>


Up, dobra poradziłem
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.