Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] jak zrobić porównanie daty w dniach?
yasiu_kam
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.02.2007

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


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. ?>


Ten post edytował yasiu_kam 14.05.2007, 16:32:12
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


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. ?>


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
yasiu_kam
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.02.2007

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


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??
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
yasiu_kam
post
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 7.02.2007

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


  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. ?>


Ten post edytował yasiu_kam 14.05.2007, 20:05:12
Go to the top of the page
+Quote Post

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 Aktualny czas: 21.08.2025 - 22:35