datum überprüfen mit php
Ezekiel 02.10.2003 -
22:27 1031
10
Ezekiel
OC Addicted
|
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:
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
Bearbeitet von Ezekiel am 04.10.2003, 11:54
|
Ringding
Pilot
|
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
OC Addicted
|
wie gesagt ich bin nicht wirklich ein programmier gott, kannst du das vielleicht ein wenig detaillierter erklären?  tia
|
Phobos
✝
|
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. <?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.
Bearbeitet von Phobos am 02.10.2003, 23:14
|
Ringding
Pilot
|
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
OC Addicted
|
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
Pilot
|
Nachdem ich nicht glauben kann, dass da nix zu finden ist, hab ich grade selber geschaut. mktime ist das, was du willst.
|
othan
Layer 8 Problem
|
Bin selbst auch noch am lernen aber ich glaub ich hab da was gelesen... versuch mal damit was zu basteln: 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 $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
✝
|
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
in fairy dust... I trust!
|
für alle wichtigen standard c funktionen, gibts 1:1 php wrapper.
|
Ezekiel
OC Addicted
|
dankeschön 
|