Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Porównywanie daty (dni, godziny, minuty, sekundy)
niedzielnyphp
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 25.07.2010

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


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");


Go to the top of the page
+Quote Post
arecki
post
Post #2





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


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.  
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Hmm, albo pokombinować z DateTime ;]
Go to the top of the page
+Quote Post
niedzielnyphp
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 25.07.2010

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


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.

Ten post edytował niedzielnyphp 5.08.2010, 09:05:43
Go to the top of the page
+Quote Post
arecki
post
Post #5





Grupa: Zarejestrowani
Postów: 222
Pomógł: 35
Dołączył: 6.02.2005

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


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.

Ten post edytował arecki 5.08.2010, 09:09:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 02:22