Ich möchte überprüfen, ob ein Datum ein korrektes Format hat. Es gibt viele Möglichkeiten der richtigen Daten wie:DateTime.TryParse alle möglichen Arten von Daten
- 02.08.2010
- 2.8.2010
- 02.8.2010 02,08
- 02.August
- ...
I kann mit jedem Code wie folgt testen:
Aber dann kann ich 40 wenn Aussagen haben. Ist es möglich, alle Daten mit einer if-Anweisung oder einer Schleife zu überprüfen?
Update:
Basierend auf den Antworten so weit, ich bin diesen Code zu testen, aber ich habe ein weiteres Problem. Was passiert, wenn ich 9.2.2010 haben nur 9.2 nicht, dann wird dieser Code nicht funktioniert:
CultureInfo ci = CultureInfo.GetCultureInfo("sl-SI");
string[] fmts = ci.DateTimeFormat.GetAllDateTimePatterns();
if (DateTime.TryParseExact(date, fmts, ci, DateTimeStyles.AssumeLocal, out dt))
{
DateTime = Convert.ToDateTime(date);
Check = true;
}
Muss ich diese mal manuell hinzufügen oder was kann ich tun?
Wie kommt es, dass Sie jedes mögliche Datumsformat als gültige Eingabe akzeptieren? –
Bitte füge Updates zu deiner Frage hinzu oder nutze die Kommentarfunktion. Bitte verwenden Sie auch keine Antworten, um zu sagen, danke, verwenden Sie einen Kommentar oder besser, upvote und markieren Sie als akzeptiert: http://blog.stackoverflow.com/2011/01/how-to-say-thanks-in-an-answer/ – Kev
Könnte das auch sehen [robust-datetime-parser-library-for-net] (http://stackoverflow.com/questions/7297622/robust-datetime-parser-library-for-net) – nawfal