Frank (no reg): .NET: DateTime.Parse

Beitrag lesen

Hallo,

ist der Input Wert für alle Sprachen immer im gleichen Format?
Wer genau gibt ihnen diesen Wert? Warum ist er in mehreren Sprachen?
DateTime ist normalerweise DateTime ... nur ToString(formatInfo) oder Parse(formatInfo) haben mit dem Thema Globalization zu tun. Warum bekommst du also einen String als Eingabe.

Vielleicht solltest du dir auch mal anschauen, was in den Exceptions drin steht, die du schon immer abfängst. Evt ist es ein CAST problem von DateTime zu DateTime?  (DateTime? ist schliesslich eigentlich System.Nullable<System.DateTime>)

Wenn du einen String nicht in ein DateTime-Objekt parsen kannst, solltest du eine spezielle Exception für genau diesen Grund bekommen, und nicht NULL (meine Meinung). DateTime ist bei default nicht NULLable. Nur DateTime?.

Wenn du keine FormatInfo angiebst, dann probiert .net imho es mit alles Formaten der CurrentCulture selbst aus.

Du könntest auch eine Liste von möglichen Kulturen erstellen und dann in einem Schleifchen abarbeiten, das erspart dir dieses hässliche if() ... if() ... if()

PS: Gab es nicht mal den Themenbereich "ASP"? Oder sind derartige
Fragen hier nicht mehr willkommen?

Anscheinend nicht wirklich. Die Forumshoheiten haben befunden, dass man den Themenbereich "ASP" streichen muss um die Menge der möglichen zu signifikant reduzieren damit es für n00bs einfacher wird. Die Mehrheit der Forumsteilnehmer ist aber sowieso von der Anti-MS Fraktion ;)

Ciao, Frank