Silverdragon Geschrieben 15. Oktober 2008 Teilen Geschrieben 15. Oktober 2008 Hallo liebe Community, ich habe ein kleines Problem mit meiner Datumsabfrage und zwar wird das Datum in folgendem Format vom User eingetippt (z.B: 14.10.2008) Ich hätte gerne das das Datum bei einer Falscheingabe (z.B: 4.10.08) in das Format vom obigen Beispiel direkt umgewandelt wird, würde da gerne eine Funktion in Javascript oder so schreiben doch habe noch keine Ahnung wie ich das anstelle . also quasi aus dem 4.10.08 sollte 04.10.2008 werden bzw. aus 14.2.84 soll dann 14.02.1984 werden das ganze sollte vom Jahr 1941-2040 möglich sein zu überprüfen. Hat einer ne Idee wie ich das am besten lösen kann? MfG Silver Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 15. Oktober 2008 Teilen Geschrieben 15. Oktober 2008 da gibts n Javascript-Listener Event "onblur" glaube ich heißt es, das aufgerufen wird, sobald jemand ein Textfeld verlässt. Dann siehst du dir den String an, änderst ihn entsprechend und schreibst ihn in das Feld zurück. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Silverdragon Geschrieben 15. Oktober 2008 Autor Teilen Geschrieben 15. Oktober 2008 Sry für Doppelpost aber konnte den Post ned mehr ändern ohne den Admin zu fragen :eek Hätte am liebsten einen Lösungsvorschlag in PHP anstatt in Javascript Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 15. Oktober 2008 Teilen Geschrieben 15. Oktober 2008 dann ist die antwort die gleiche beim verarbeiten des Formulars siehst du dir den String an, zerlegst ihn und füllst ihn entsprechend auf. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Silverdragon Geschrieben 15. Oktober 2008 Autor Teilen Geschrieben 15. Oktober 2008 Danke für deine schnelle Antwort, leider muss ich da trotzdem auf Javascript zugreifen. Kennt jmnd evtl eine Möglichkeit die komplett ohne Javascript auskommt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 15. Oktober 2008 Teilen Geschrieben 15. Oktober 2008 Du widersprichst Dir. Du willst eine Lösung die nicht in JS ist, aber dafür in PHP und dann wieder in JS. Was willst Du nun? Egal mit welcher Sprache Du es machst, es bleibt die selbe Algorithmik, String zerlegen, korrigieren und ggf in ein Date / Timestamp umwandeln. Mit HTML geht das natürlich nicht, denn das ist eine Markup Sprache. Phil Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bytebrain Geschrieben 15. Oktober 2008 Teilen Geschrieben 15. Oktober 2008 Wenn dein Datums-String per Post oder Get in deinem PHP-Script ankommt zerlegst du den String in seine Bestandteile (geht wunderbar mit RegEx), rechnest alles in einen Timestamp um und gibst das Datum formatiert mit der Funktion date() wieder aus. Oder du speicherst das Datum dann in eine DB oder machst sonstwas damit. Schau hier einfach mal nach den PHP-eigenen Datums- und Zeitfunktionen. Grüße, bytebrain P.S.: völlig ohne JavaScript Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Silverdragon Geschrieben 15. Oktober 2008 Autor Teilen Geschrieben 15. Oktober 2008 Danke für eure schnellen Antworten, leider ist das kein Timestamp sondern ein Datum was in einem Textfeld eingetragen werden soll, ich habe mir aber schon nen kleines einfaches Script zusammen gebastelt. Sind zwar nur nen paar IF-Abfragen und auch bestimmt nicht das gelbe vom Ei aber es funktioniert erstmal. Hier ein paar Auszüge aus meinem Code <?php // Datum auseinander bauen $date2 = $Vertragsbeginn; $teile2 = explode(".", $date2); $tag2 = $teile2[0]; $monat2 = $teile2[1]; $jahr2 = $teile2[2]; // Datumsergänzung bei Falscheingabe // fügt eine 0 bei der Angabe des Tages für den Fall einer falschen bzw. unvollständigen Eingabe an if ($teile2[0] !== '[0-9]' . '[0-9]') { $teile2[0]=('0' . $teile2[0]); }; // fügt eine 0 bei der Angabe des Monats für den Fall einer falschen bzw. unvollständigen Eingabe an if ($teile2[1] !== '[0-9]' . '[0-9]') { $teile2[1]=('0' . $teile2[1]); }; // fügt entweder eine 19 oder eine 20 bei einer falschen bzw. unvollständigen Eingabe an die Jahreszahl an if ($teile2[2] > "41") { $teile2[2]=('19' . $teile2[2]); } else { $teile2[2]=('20' . $teile2[2]); }; //Daten für die Übergabe an die Datenbank vorbereiten $Vertrag_Anfang = $teile2[2] . "-" . $teile2[1] . "-" . $teile2[0]; ?> [/PHP] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.