Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jak zrobić porównanie daty w dniach?
Forum PHP.pl > Forum > Przedszkole
yasiu_kam
Witam. Chcę zrobić porównanie dni tzn. wypożyczenie książki i czas do oddania (ok 30dni) ale nie wiem jak to zrobić bo wyświetla mi tylko rok sad.gif jeśli czas dojdzie do ok 30 dni to chciałbym jakiegoś IF dać który wyśle maila do danego użytkownika. Pozdrawiam
  1. <?php
  2. $pozostalo=$data-$data_wypozyczenia;
  3. echo "<h4><font color=red>Do oddania książki pozostalo $pozostalo dni</font></h4>";
  4. ?>
skowron-line
ktos kiedys napisal...
  1. <?php
  2.  
  3. function date_diff($date1, $date2)
  4. {
  5. //$date1 today, or any other day
  6. //$date2 date to check against
  7.  
  8. $d1 = explode("-", $date1);
  9. $y1 = $d1[0];
  10. $m1 = $d1[1];
  11. $d1 = $d1[2];
  12.  
  13. $d2 = explode("-", $date2);
  14. $y2 = $d2[0];
  15. $m2 = $d2[1];
  16. $d2 = $d2[2];
  17.  
  18. $date1_set = mktime(0,0,0, $m1, $d1, $y1);
  19. $date2_set = mktime(0,0,0, $m2, $d2, $y2);
  20.  
  21. return(round(($date2_set-$date1_set)/(60*60*24)));
  22. }
  23.  
  24. echo date_diff('2002-01-01', '2003-12-31');
  25. ?>
nospor
Tak sie liczy roznice dni:
http://forum.php.pl/index.php?showtopic=29...mp;hl=strtotime


proszę poprawić tytuł o znacznik zgodnie z zasadami forum Przedszkole:
Temat: Tematyka i zasady panujace na forum Przedszkole
yasiu_kam
Trochę poczytałem i chce zrobić to w miarę prostą metoda ale
  1. <?php
  2. $ilosc = ceil((strtotime(date)-strtotime('data_wypozyczenia'))/86400);
  3. ?>

wyswietla mi 0, tak samo
  1. <?php
  2. $ilosc = ceil((strtotime($data)-strtotime($data_wypozyczenia))/86400);
  3. ?>

daty w bazie('data_wypozyczenia') nie są takie jak dzisiejsza więc nie rozumiem dlaczego 0??
nospor
Przeciez w tamtym linku widac jak wol, ze tam do strtotime() zapodaje sie date, np. 2007-05-14
a ty co zapodajesz? A ty zapodajesz tekst:data_wypozyczenia. no chlopie, mysl troche....
Tak samo to: strtotime(date) . co to ma byc?

edit:
no tu juz lepiej:
  1. <?php
  2. $ilosc = ceil((strtotime($data)-strtotime($data_wypozyczenia))/86400);
  3. ?>

A teraz pytanie: co jest w $data oraz w $data_wypozyczenia? Pokaz dokladnie nam co tam sie znajduje i od razu mowie, ze ma tam byc data w postaci RRRR-MM-DD
yasiu_kam
  1. <?php
  2. $data=date('Y-m-d'); 
  3. $data_wypozyczenia=$_POST['data_wypozyczenia'];
  4. ?>


juz wiem ze jak daje echo $data_wypozyczenia; to nic nie wyswietla...

poza tym daty w bazie sa w formacie RRRR-MM-DD

daty już działają, jakoś sam do tego doszedłem smile.gif
  1. <?php
  2. $ilosc = ceil(((strtotime($row['data_wypozyczenia'])-strtotime($data)+2592000)) /86400);
  3. ?>
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.