20121004 (yyyyMMdd) in eine gültige Datums- und Uhrzeitangabe konvertieren?
Ich habe eine Zeichenfolge im folgenden FormatyyyyMMdd
und ich versuche es so aussehen zu lassen:
yyyy-MM-dd
Wenn ich versuche:
string date = "20121004";
Convert.ToDateTime(date).ToString("yyyy-MM-dd");
Ich erhalte den Fehler:
FormatException: String was not recognized as a valid DateTime.
Würde das folgende funktionieren oder stoße ich auf ein Problem:
private string GetValidDate(string date,string format)
{
DateTime result;
if(DateTime.TryParseExact(date, "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
return date;
}
else if(DateTime.TryParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
{
return DateTime.ParseExact(date, "yyyyMMdd",
CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
}
else
{
return "Invalid Date Format";
}
}