2017-02-09 2 views
-2

Schnell FrageDatetime-Format Check

gebenen Wert in ActivationDate oder ExpirationDate Zeichenfolge muss unten angegeben in einem der beiden Formate Das obige Format sollte dann entsprechende Fehlermeldung zurückmelden.

Irgendwelche Hinweise? Vielen Dank im Voraus

+1

versuchen diese Formate zu analysieren analysiert, wenn nicht möglich, Sie erhalten eine Ausnahme –

Antwort

1

Sie können DateTime.TryParseExact verwenden, eine string[] mit den gültigen Formaten :

string[] formats = new string[] { "yyyy-MM-dd", "yyyy-MM-dd HH:mm" }; 
string s = "2017-12-01 12:23"; 
DateTime date; 
bool converted = DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out date); 

Mit diesem Code erhalten Sie in converted, wenn das Eingangsdatum in einem gültigen Format war, und in date die DateTime

1

Sie können ParseExact() mit try-catch verwenden:

string date = "2017-02-01"; 
DateTime dt = default(DateTime); 

try 
{ 
    dt = DateTime.ParseExact(date, new string[] {"yyyy-MM-dd", "yyyy-MM-dd hh:mm"}, CultureInfo.InvariantCulture, DateTimeStyles.None); 
} 
catch (FormatException ex) 
{ 
    //error 
} 

ODER

Verwendung TryParseExact():

string date = "2017-02-01"; 
DateTime dt; 

if (DateTime.TryParseExact(date, new string[] {"yyyy-MM-dd", "yyyy-MM-DD hh:mm"}, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) 
{ 
    //do something and use "dt" variable 
} 
else 
{ 
    //error 
} 
+0

Dank erhalten ..now ich bekomme Fehler für CultureInfo & DateTimeStyles.Welche Referenz sollte ich dafür hinzufügen? – Anjali

+0

Hinzufügen 'using System.Globalization;' –

+0

Vielen Dank :) – Anjali