Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Ilość miesiecy
Forum PHP.pl > Forum > Przedszkole
kask18
Witam , mam zmienną $d która przechowuje datę, oraz zeminną $now która przechowuje aktualną datę. Czy za pomocą funkcji PHP mogę określić ilość pełnych miesięcy jakie je dzieli ?

  1. <?php
  2. $d = '2008-12-1';
  3. $now = date('Y-m-d');
  4. ?>


Z góry dzięki za odpowiedzi
sadistic_son
Oczywiście! Możesz nawet ilość sekund jakie je dzili obliczyć.
Tu masz 2 przykłady jak to zrobić. Pierwszy jest taki 'chałupniczy' ale działa praktycznie dla każdego formatu daty, wystarczy tylko odpowiednio poprzestawiać elementy tablicy.
  1. $d='2009-m-d';
  2. $n=date('Y-m-d');
  3.  
  4. $d=explode('-',$d);
  5. $dd=$d[2]; //dzien
  6. $dm=$d[1]; //miesiac
  7. $dy=$d[0]; //rok
  8.  
  9. $n=explode('-',$n);
  10. $nd=$n[2]; //dzien
  11. $nm=$n[1]; //miesiac
  12. $ny=$n[0]; //rok
  13.  
  14. $d=mktime(0,0,0,$dm,$dd,$dy);
  15. $n=mktime(0,0,0,$nm,$nd,$ny);
  16.  
  17. $ilosc=($n-$d)/60/60/24/30;
  18. $ilosc=round($ilosc,1); //zaokraglenie do jednej liczby po przecinku
  19.  
  20. echo $ilosc;


Lub prościej, ale tylko jeśli daty masz w takim formacie jak poniżej $d:
  1. $d='2009-08-25 19:49:33';
  2. $now=date('Y-m-d H:i:s');
  3.  
  4. $d=strtotime($d);
  5. $now=strtotime($now);
  6.  
  7. $ilosc=($now-$d)/86400/30;
  8. $ilosc=round($ilosc,1); //zaokraglenie do jednej liczby po przecinku
  9.  
  10. echo $ilosc;
cojack
Ehh sadistic Twoje metody zaczynają mnie przerażać.

http://pl.php.net/manual/en/function.strptime.php

oraz

http://pl.php.net/manual/en/function.strftime.php
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.