datum überprüfen mit php

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/datum_ueberpruefen_mit_php_94458/page_1 - zur Vollversion wechseln!


Ezekiel schrieb am 02.10.2003 um 22:27

Ich versuche gerade ein script zu schreiben dass ein datum überprüft und feststellen soll ob es schon vergangen ist oder erst im kommen ist.
ich habs mal folgendermaßen probiert:

Code: PHP
						
if ($year>=date(Y)) {
  if ($month>=date(m)) {
    if($day>=date(d)) {
      echo "$bla";
    }
  }
}

funktioniert 1. nicht und 2. würde dann zb. der 1.1.2004 am 30.12.2003 schon als vergangenheit gedeutet werden.
hat vielleicht jemand ein funktionierendes script dass das datum überprüft (ich werde denk ich mal nicht der einzige sein der sowas verwendet/verwenden will )? oder kann mir jem. einen ansatz sagen, mir fällt grade nichts ein, bzw. hab ich nicht die php skills um mir was auszudenken ;).

tia, ezekiel


Ringding schrieb am 02.10.2003 um 22:45

Normalerweise macht man einen fortlaufenden Wert daraus (dafür gibt's in php sicher Funktionen), und diesen kann man dann einfach mit <, <= usw vergleichen.


Ezekiel schrieb am 02.10.2003 um 23:09

wie gesagt ich bin nicht wirklich ein programmier gott, kannst du das vielleicht ein wenig detaillierter erklären? ;)
tia


Phobos schrieb am 02.10.2003 um 23:12

int checkdate(int Monat, int Tag, int Jahr)

Mit checkdate() kann man ein Datum auf Gültigkeit überprüfen.
Ist das Datum gültig, wird true, sonst false zurückgeliefert.

Code: PHP
<?PHP
$check1 = checkdate(12,23,1971);
$check2 = checkdate(13,23,1971);
if($check1 == 1) echo "Der 23.12.1971 ist ein korrektes Datum.";
if($check2 == 1) echo "Der 23.13.1971 ist ein korrektes Datum."; 
?>

wennst das ganze datum in einer string hast musst es halt zuerst exploden.

/add

ups sorry hab mich verlesen....
mein post hilft dir natürlich NICHT weiter.


Ringding schrieb am 02.10.2003 um 23:20

Ich weiß es ja auch nicht auswendig. Ich müsste genau wie du in der PHP-Dokumentation in den Abschnitt über Datumsfunktionen nachschauen. Also warum sollst das nicht gleich du machen?


Ezekiel schrieb am 02.10.2003 um 23:22

ich habe auf php.net gesucht aber nichts gefunden was mir weiterhilft. ich werde morgen nochmal schauen, ist mir klar das niemand anderer fuer mich suchen wird ;)


Ringding schrieb am 02.10.2003 um 23:25

Nachdem ich nicht glauben kann, dass da nix zu finden ist, hab ich grade selber geschaut. mktime ist das, was du willst.


othan schrieb am 02.10.2003 um 23:29

Bin selbst auch noch am lernen aber ich glaub ich hab da was gelesen...
versuch mal damit was zu basteln:

Zitat
Funktion:
time()

Anwendung:
$stamp = time()

Beschreibung:
gibt aktuellen Unix-TimeStamp zurück
(in sekunden)

Funktion:
mktime()

Anwendung:
$stamp2 = mktime($stunde, $minute, $sekunde, $monat, $tag, $jahr)

Beschreibung:
gibt den UNIX-TimeStamp für ein spzielles Datum zurück

Code: PHP
$stamp1 = time() ;
$stamp2 = mktime(12, 30, 30, 03, 28, 1983) ;

if ($stamp1 > $stamp2)
{
echo "Dieser Tag liegt in der Vergangenheit!";
}

/EDIT:

1. 0wned

und 2. Quelle: GoTo PHP4
Autor: Dirk Ammelburger
Verlag: Addison-Wesley


Phobos schrieb am 02.10.2003 um 23:30

so hab ichs grad geschreiben

das date als unix timestamp ausgeben lassen, dann hast an absoluten wert und den kannst dann einfach vergleichen in einer abfrage.

/edit

shit, 0wned :(


atrox schrieb am 03.10.2003 um 03:50

für alle wichtigen standard c funktionen, gibts 1:1 php wrapper.


Ezekiel schrieb am 03.10.2003 um 22:06

dankeschön ;)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026