Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Ilość miesiecy
kask18
post 4.10.2009, 20:42:38
Post #1





Grupa: Zarejestrowani
Postów: 121
Pomógł: 0
Dołączył: 3.12.2008

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


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
Go to the top of the page
+Quote Post
sadistic_son
post 4.10.2009, 21:18:33
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


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;


Ten post edytował sadistic_son 4.10.2009, 22:13:00


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
cojack
post 4.10.2009, 23:01:27
Post #3





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


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


--------------------
cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena
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 Wersja Lo-Fi Aktualny czas: 27.06.2025 - 00:52