Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Porównanie dwóch dat
sebek222
post 17.11.2010, 19:54:25
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 4
Dołączył: 1.09.2010

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


Witam, chciałbym porównać 2 daty o zdefiniowanym przeze mnie formacie:
Więc pierwsza data to bieżąca:
$data=Date("j.n.Y G:i");
I teraz chciałbym utworzyć drugą datę o takim samym formacie czyli np. chciałbym porównać datę $data z "17.10.2010 19:32".
Jak mogę utworzyć taką datę? Żeby nie była ona traktowana jako string ale jako data o tym samym formacie który podałem.
Prosze o pomoc, pozdrawiam.
Go to the top of the page
+Quote Post
flashdev
post 17.11.2010, 20:00:22
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


date_create + date_diff


--------------------
Go to the top of the page
+Quote Post
sebek222
post 17.11.2010, 20:43:28
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 4
Dołączył: 1.09.2010

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


Ale nie chodzi mi o zwrócenie różnicy iloma dniami się różnią 2 daty.
Chciałbym uzyskać poniższy efekt:
  1. <?php
  2. $data=Date("j.n.Y G:i");
  3. $data2=date_create('17.10.2010 19:32');
  4. if ($data>$data2)
  5. {
  6. echo "true";
  7. }
  8.  
  9. ?>


Ale to mi nie działa, warunek nie zostaje spełniony, a przecież 17.10.2010 19:32 jest starszą datą niż dzisiejsza. Co mam zrobić żeby ten skrypt zadziałał ?

Ten post edytował sebek222 17.11.2010, 20:47:19
Go to the top of the page
+Quote Post
Ghost_78
post 17.11.2010, 20:57:46
Post #4





Grupa: Zarejestrowani
Postów: 222
Pomógł: 34
Dołączył: 3.11.2010

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


ja zawsze robie to tak :

  1. $data=strtotime(date(d.m.Y H:i));
  2. $data2=strtotime('17.10.2010 19:32');
  3. if ($data>$data2){
  4. echo "true";
  5. }


Ten post edytował Ghost_78 17.11.2010, 21:09:26


--------------------
Always look on the bright side of life ;-)
Go to the top of the page
+Quote Post
wookieb
post 17.11.2010, 20:57:53
Post #5





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak nie porównasz dat. Dzięki date_diff będziesz wiedział czy różnica czasów jest większa czy mniejsza od 0. Dostarczy Ci to też informacji, która data jest starsza

Ten post edytował wookieb 17.11.2010, 20:58:18


--------------------
Go to the top of the page
+Quote Post
flashdev
post 17.11.2010, 21:08:45
Post #6





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


Cytat(sebek222 @ 17.11.2010, 20:43:28 ) *
  1. <?php
  2. $data=Date("j.n.Y G:i");
  3. $data2=date_create('17.10.2010 19:32');
  4. if ($data>$data2 /* <- totalny bezsens */ )


Sprawdź jeszcze raz co zawiera $data oraz $data2.


--------------------
Go to the top of the page
+Quote Post
sebek222
post 17.11.2010, 21:28:45
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 4
Dołączył: 1.09.2010

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


Cytat(Ghost_78 @ 17.11.2010, 20:57:46 ) *
ja zawsze robie to tak :

  1. $data=strtotime(date(d.m.Y H:i));
  2. $data2=strtotime('17.10.2010 19:32');
  3. if ($data>$data2){
  4. echo "true";
  5. }


To zadziałało, tylko musiałem dodać cudzysłów i ustawić strukturę daty na swoją.
Dziękuje wam za pomoc.

Go to the top of the page
+Quote Post
flashdev
post 17.11.2010, 21:34:03
Post #8





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

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


  1. $data=date('U');


Może tak będzie prościej? Bez podwójnej konwersji w tą i z powrotem.


--------------------
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: 23.06.2025 - 07:27