Convert String to Date in .NET if my incoming date format is in YYYYMMDD

Viewed 67812

What is the best way to convert string to date in C# if my incoming date format is in YYYYMMDD

Ex: 20001106

6 Answers

Use DateTime.ParseExact(). Something like:

   string date = "20100102";
   DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);
 DateTime.TryParseExact(myDateString, "yyyyMMdd", 
                         CultureInfo.InvariantCulture, 
                         DateTimeStyles.None, out myDateVar )
DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null);

Using TryParseExact is generally nicer than ParseExact as it won't throw an exception if the conversion fails. Instead it returns true if it's successful, false if it's not:

DateTime dt;
if (DateTime.TryParseExact("20100202", "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
{
   Console.WriteLine(dt.ToString());
}
Related