Validierung unterschiedlicher Datumsformate
Verfasst: Samstag 28. April 2007, 22:31
Hallo,
in meiner Applikation hat der User die Möglichkeit, Daten in verschiedenen Formaten einzugeben. Die Validierung möchte ich von datetime.strptime durchführen lassen. Hier meine Funktion:
_parsedate sollte das vom Benutzer eingegebene Datum mit den erlaubten Datumsformaten der Liste validieren. "Passt" ein Datumsformat nicht, sollte das nächste aus der Liste genommen werden. Sind alle ohne Übereinstimmung durch, müßte die Fkt. False zurückgeben.
Leider funktioniert das nicht - die Schleife wird nur einmal durchlaufen und selbst bei passenden Daten kommt false zurück. Scheinbar beißen sich try/except und while... weiß jemand Rat?
in meiner Applikation hat der User die Möglichkeit, Daten in verschiedenen Formaten einzugeben. Die Validierung möchte ich von datetime.strptime durchführen lassen. Hier meine Funktion:
Code: Alles auswählen
def _parsedate (datestring):
dateformats = ['%d.%m.%Y', # like 22.12.2005
'%m.%Y,', # like 12.2005
'%m.%y,' # like 12.06
'%d.%b'] #like 13.Aug
for format in dateformats:
try:
parseddate = datetime.strptime (datestring,format)
except ValueError:
continue
else:
return parseddate
return False
Leider funktioniert das nicht - die Schleife wird nur einmal durchlaufen und selbst bei passenden Daten kommt false zurück. Scheinbar beißen sich try/except und while... weiß jemand Rat?