Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Porównywanie daty (dni, godziny, minuty, sekundy)
Forum PHP.pl > Forum > Przedszkole
niedzielnyphp
Potrzebuję porównać datę zapisaną w dwóch zmiennych do daty serwera.

Dzień potrafię zrobić (określić czy to dziś)
  1. $data = "05.08.10";
  2. $dzis = date("d.m.y");
  3. if($data==$dzis)
  4. echo "to dzis";


Ale może istnieje odpowiednia funkcja do tego?
Zależy mi też na tym aby wskazać iż pozostało np. 3 dni do danego dnia

Druga zmienna to godzina.
  1. $data = "05.08.10";
  2. $godzina = "08:37:51"


Potrzeba mi znaleźć ile sekund, minut, godzin zostało do danej godziny. Oczywiście mogę to napisać samemu ale może też istnieje odpowiednia funkcja?

Godzinę bym pobierał
  1. $aktualna_godzina = date("H:i:s");


arecki
Najprościej będzie jak będziesz sprawdzał różnicę w czasie po timestamp'ie.

  1.  
  2. if(strtotime('10.08.2010') > time())
  3. {
  4. echo 'dzisiaj jest wcześniej niż 10 sierpnia';
  5. }
  6. else
  7. {
  8. echo 'Już po 10 sierpnia, można się przygotować na poprawki :)';
  9. }
  10.  
Fifi209
Hmm, albo pokombinować z DateTime ;]
niedzielnyphp
Cytat(arecki @ 5.08.2010, 09:55:58 ) *
Najprościej będzie jak będziesz sprawdzał różnicę w czasie po timestamp'ie.

  1.  
  2. if(strtotime('10.08.2010') > time())
  3. {
  4. echo 'dzisiaj jest wcześniej niż 10 sierpnia';
  5. }
  6. else
  7. {
  8. echo 'Już po 10 sierpnia, można się przygotować na poprawki :)';
  9. }
  10.  


To co napisałeś robi dokładnie to samo co moja funkcja:
  1. $data = "05.08.10";
  2. $dzis = date("d.m.y");
  3. if($data==$dzis)
  4. echo 'dzisiaj jest 10 sierpnia';
  5. else
  6. echo 'Jest po/przed 10 sierpnia';


Mi zależy na czym innym - funkcja ma mi zwrócić ile dni pozostało do danej daty (konkretna wartość wyrażoną w ilości dni).

To samo tyczy się czasu.
arecki
No nie przesadzaj, prosta matematyka:
  1.  
  2. // abs() do ustalenia różnicy, a czy plus czy minus to zadanie domowe
  3. $roznica_w_sekundach = abs(strtotime('10.08.2010') - time());
  4.  
  5. $roznica_w_minutach = $roznica_w_sekundach / 60;
  6.  
  7. $roznica_w_godzinach = $roznica_w_minutach / 60;
  8.  
  9. $roznica_w_dniach = $roznica_w_godzinach / 24;
  10.  


No chyba że masz php >= 5.3.0 to sprawdź to.
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.