Hier eine kleine Funktion welche überprüft, ob ein übergebenes Objekt ein Datum ist und diesen Wert als Datum zurückgibt:
static public DateTime ToValidDateTime(object n) {
if(n==null) return DateTime.MinValue;
if(n.GetType() == typeof(DateTime)) {
if((DateTime)n < DateTime.MinValue) {
return DateTime.MinValue;
} else {
return (DateTime)n;
}
}
try {
if(n.GetType() == typeof(string)) {
return DateTime.Parse( (string)n, sFormat );
}
}
catch( FormatException ) {
}
return DateTime.MinValue;
}