Преобразование String to Date в .NET, если мой формат даты в формате YYYYMMDD

Каков наилучший способ конвертировать строку в дату на С#, если мой формат входящей даты находится в YYYYMMDD

Пример: 20001106

Ответ 1

Использовать DateTime.ParseExact(). Что-то вроде:

   string date = "20100102";
   DateTime datetime = DateTime.ParseExact(date, "yyyyMMdd", CultureInfo.InvariantCulture);

Ответ 2

 DateTime.TryParseExact(myDateString, "yyyyMMdd", 
                         CultureInfo.InvariantCulture, 
                         DateTimeStyles.None, out myDateVar )

Ответ 5

DateTime yourDateTime = DateTime.ParseExact(yourString, "yyyyMMdd", null);

Ответ 6

Использование TryParseExact обычно лучше, чем ParseExact, поскольку оно не будет генерировать исключение, если преобразование завершится с ошибкой. Вместо этого он возвращает true, если он успешный, false, если это не так:

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