Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]odejmowanie dat
lucas666
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 12.07.2010

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


moze mi ktos pomoc?(IMG:style_emoticons/default/questionmark.gif) mam taki kod do odejmowania dat, ale jesli data minela, to pokazuje ile czasu minelo, a przeciez dalem warunek...

wie ktos o co tu chodzi?

  1. $target = mktime($g1, $min1, $s1, $m1, $d1, $y1);
  2. $today = time() ;
  3. $difference = ($target-$today) ;
  4.  
  5. if ($difference<0) {
  6. $czas= 'zakończono';
  7. $knc= '-';
  8. }
  9.  
  10. else {
  11. $czas =(int) ($difference / 3600);
  12.  
  13. if ($czas > 24) {
  14. $czas =(int) ($difference / 86400);
  15. $knc= 'dni';
  16. if ($czas == 1) {
  17. $knc = 'dzień';
  18. }
  19. }
  20. else {
  21. $knc = 'godz.';
  22. }
  23.  
  24. }


Ten post edytował lucas666 31.05.2012, 12:38:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Zapoznaj się z obiektami DateTime i DateInterval.

Można to zrobić o wiele łatwiej:

  1. $date = '2012-06-01 23:59:59';
  2. $date = new DateTime($date);
  3. if($date < new DateTime()) {
  4. echo 'minęło';
  5. } else {
  6. $interval = $date->diff(new DateTime(),true);
  7. echo $interval->format('Odbędzie się za %y lat %m miesięcy %d dni %h godzin %i minut i %s sekund.');
  8. }


EDIT: @rocktech.pl - ubiegłeś mnie (IMG:style_emoticons/default/tongue.gif)

Ten post edytował Sephirus 31.05.2012, 13:56:18
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 17:27