Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak sprawdzić czy data jest mniejsza od drugiej
Forum PHP.pl > Forum > Przedszkole
Morale
Jak sprawdzić czy 10.2 jest mniejszy od 3.10 (ten sam rok) ?
Szupien
nie wiem o co ci chodzi. ale mozesz ifem to zrobic
Hazel
  1. <?php
  2. $data1 = date('U', mktime(0,0,0,12,3,2007));
  3. $data2 = date('U', mktime(0,0,0,2,10,2007));
  4. $roznica = date('d.m.y', $data1 - $data2);
  5. if ($roznica > 0)
  6. {
  7. // $data1 jest starsza
  8. }
  9. else 
  10. {
  11. // $data2 jest starsza
  12. }
  13. ?>
Morale
nie działa ten kod, zawsze pisze to samo:

  1. <?php
  2. $kiedy = "4.3";
  3.  
  4.  
  5. $data1 = explode(".", date("j.n"));
  6. $data2 = explode(".", $kiedy);
  7.  
  8. $aktualny_rok = date("Y");
  9.  
  10. $data1_check = date("U", mktime(0,0,0,$data1[1],$data1[0],$aktualny_rok));
  11. $data2_check = date("U", mktime(0,0,0,$data2[1],$data2[0],$aktualny_rok));
  12. $roznica = date("j.n", $data1_check - $data2_check);
  13. if ($roznica > 0)
  14. {
  15. $jaki_rok = $aktualny_rok+1;
  16.  
  17. }
  18. else 
  19. {
  20. $jaki_rok = $aktualny_rok;
  21.  
  22. }
  23. ?>


Zawsze wyświetla mi rok 2009. Czy podaje 1.1 czy podaje 4.3.
Hazel
No bo dziś jest 1 stycznia, więc żadna data nie będzie starsza...
Poza tym robisz pewien błąd:
  1. <?php
  2.  
  3. $roznica = date("j.n", $data1_check - $data2_check);
  4. ?>

Po czym sprawdzasz, czy $roznica jest większa od zera - tak będzie zawsze, lub funkcja date() zwróci wyjątek (ona nie operuje na liczbach ujemnych pod różnymi wersjami PHP). Jesli chcesz uzyskać poprawny efekt, to:
  1. <?php
  2. $roznica = $data1_check - $data2_check;
  3. ?>

I dopiero teraz sprawdzasz. A jak zamiast 1 stycznia 2008 wpiszesz coś innego, to działa poprawnie.
Morale
też myślałem o tym pierwszym stycznia, ale zobaczyłem, że jest znak > a nie >= więc powinno pokazać co innego przy 1.1 a co innego przy 2.1 i jak usunąłem to
  1. <?php
  2. date("j.n",...
  3. ?>
to zadziałało...

dzięki, działa
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.