Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Porównanie dwóch dat
Forum PHP.pl > Forum > PHP
sebek222
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.
flashdev
date_create + date_diff
sebek222
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ł ?
Ghost_78
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. }
wookieb
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
flashdev
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.
sebek222
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.

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


Może tak będzie prościej? Bez podwójnej konwersji w tą i z powrotem.
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.