Mailinglisten-Archive |
Hallo, irgendwie habe ich gerade eine kleine Denkblockade, vielleicht kann mir ja jemand auf die Sprünge helfen. Ich habe einen String und ein Datumsformat und möchte den String anhand des Datumsformat "parsen", d.h. in seine Bestandteile zerlegen, um danach per checkdate() zu prüfen, ob es sich dabei um ein gültiges Datum handelt. Das Format soll frei angegeben werden können, solange es den möglichen Parametern von date() entspricht. Wobei es generell nur um Tage, Monate und Jahre gehen soll. Beispiel 1: String: 17.10.2006 Format: %d.%m.%Y Beispiel 2: String: 2006-10-17 Format: %Y-%m-%d Beispiel 3: String: 17/10/2006 Format: %d/%m/%Y Für Beispiel 1 wäre dies eine mögliche Lösung: list($day, $month, $year) = sscanf($value, '%d.%d.%d'); Für Beispiel 2 wäre dies eine mögliche Lösung: list($year, $month, $day) = sscanf($value, '%d-%d-%d'); Und für Beispiel 3 wäre dies eine mögliche Lösung: list($day, $month, $year) = sscanf($value, '%d/%d/%d'); Ich suche eine Lösung, die für alle Formate gilt und bei der ich nicht abhängig vom Format die Reihenfolge der Parameter in list() umsortieren muss. Ich habe irgendwie das Gefühl, als wenn die Lösung klar auf der Hand liegt, ich sie aber nicht sehe... ;-( Hat jemand eine Idee? Gruß, Ralf -- Ralfs PHP Blog Wissenswertes über PHP, das Zend Framework und anderes Gedöns http://www.ralfeggert.de/
php::bar PHP Wiki - Listenarchive