Du solltest vielleicht noch überlegen, dass man mit der letzten Lösung bis zu 19 Monate angeben konnte...
In dieser Hinsicht ist dir mit checkdate() geholfen (wenn du den Link anklickst, siehst du die nötigen Parameter...
Datum auseinanderschneiden
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Das zusammen mit einem explode() sollte die beste und kürzeste Lösung ergeben...
Code: Alles auswählen
$datum = explode('.', $datum);
if (count($datum) != 3)
{
// ungültig
}
$tag = intval($datum[0]);
$monat = intval($datum[1]);
$jahr = intval($datum[2]);
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
@bairan
Hast du dir meinen Code angeschaut?
Ich erwarte zumindest eine Rückmeldung, zu Dingen die du gut findest/ besser machen würdest oder du einfach Fragen hast.
@BB-BF-BM
ich hatte für checkdate mal was eigenes programmiert, bis ich anhand der Fehlermeldung merkte das es das schon gibt
Die Funktion checkdate() verwende ich übrigends auch in dem verlinktem Code... (Den ich an deiner Stelle ehrlich gesagt auch nicht gelesen hätte
)
Im meinem Script wird bei checkdate Misserfolg allerdings auch noch eine/mehrere Fehlermeldungen ausgeben
Hast du dir meinen Code angeschaut?
Ich erwarte zumindest eine Rückmeldung, zu Dingen die du gut findest/ besser machen würdest oder du einfach Fragen hast.
@BB-BF-BM
ich hatte für checkdate mal was eigenes programmiert, bis ich anhand der Fehlermeldung merkte das es das schon gibt


Im meinem Script wird bei checkdate Misserfolg allerdings auch noch eine/mehrere Fehlermeldungen ausgeben

Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Standardmäßig antworte ich nicht auf PMs
Hallo!
@Boecki: Mein Kommentar war auch nicht an dich, sondern an bairan (und dessen Code, den er hier gepostet hatte) gerichtet.
@S2B: Ich wäre an deiner hier erwähnten Funktion interessiert und würde mich dazu über eine PM o.ä. freuen.
EDIT: Zu Boeckis Code:die Variable(nbezeichnung) $timestamp ist etwas verwirrend - zumal auch überflüssig -, da sie gemäß der Funktion boolean ist...
Mit diesem Suchmuster dürfen auch Buchstaben vor und hinter dem Datum stehen, z.B. "asdf14.02.2009qwert". Ist dies nicht gewünscht, solltest du mit ^ und $ arbeiten. Ein regulärer Ausdruck sollte eigentlich vermieden werden, wenn er - wie oben von S2B bereits zusammengefasst wurde - durch explode() und intval() ersetzt werden kann.
@Boecki: Mein Kommentar war auch nicht an dich, sondern an bairan (und dessen Code, den er hier gepostet hatte) gerichtet.
@S2B: Ich wäre an deiner hier erwähnten Funktion interessiert und würde mich dazu über eine PM o.ä. freuen.
EDIT: Zu Boeckis Code:
Code: Alles auswählen
if($timestamp = checkdate($month, $day, $year))
{
$time = mktime(0,0,0, $month,$day,$year);
echo 'UNIX-Timestamp:(Sekunden seid dem 1.1.1970): ' . $time;
echo "\n<br/>";
echo '<br />Dein Zahlencode: ' . date('ymd', $time);
}
Code: Alles auswählen
if(preg_match('#(\d{1,2})\.(\d{1,2})\.(\d{2,4})#',$eingabe,$result))
Ich habe doch eine Antwort geschrieben zu deinem Code, oder nicht? Dann nochmal, leider blicke ich bei so viel Code noch nicht ganz druchBoecki91 hat geschrieben:@bairan
Hast du dir meinen Code angeschaut?
Ich erwarte zumindest eine Rückmeldung, zu Dingen die du gut findest/ besser machen würdest oder du einfach Fragen hast.
@BB-BF-BM
ich hatte für checkdate mal was eigenes programmiert, bis ich anhand der Fehlermeldung merkte das es das schon gibtDie Funktion checkdate() verwende ich übrigends auch in dem verlinktem Code... (Den ich an deiner Stelle ehrlich gesagt auch nicht gelesen hätte
)
Im meinem Script wird bei checkdate Misserfolg allerdings auch noch eine/mehrere Fehlermeldungen ausgeben

Ich habe vorallem schwieigkeiten mit den verschiedenen Funktionen wie timestamp oder ähndliches, das muss ich mir zuerst mal anschauen und selber etwas rumprobieren bis ich das wohl ganz verstehe.