Подтвердить что ты не робот

Преобразование даты строки YYYYMMDD в значение даты и времени

Возможный дубликат:
Преобразование строки в DateTime в С#

Вопрос

Я получил строковое значение, которое действительно получается из directoryInfo. То, что я хотел выполнить, - это преобразовать значение строки в значение даты для сравнения.

Имя папки - образец, подобный этому: C:\FOLD\20111120 и правильно другой путь к папке подобен этому C:\FOLD\20111021

20111120 - это формат даты. Я пытаюсь преобразовать его в формат даты, чтобы какое-то сравнение решило удалить весь каталог или нет.

Я думаю, что я буду вставлять свой код здесь

DirectoryInfo dir = new DirectoryInfo(_FolderPath);

foreach (DirectoryInfo f in dir.GetDirectories())
{
     String folderName = f.ToString();
     DateTime ConDt = Convert.ToDateTime(folderName);
     Console.WriteLine(ConDt);
     Console.WriteLine(ConDt.GetType());
   //Console.WriteLine(folderName.GetType());
   //Console.WriteLine(f.GetType());
}

Я пытался с Convert.toDatetime(), и я получаю ошибку, которая неспособна сделать конверсию. Как я могу это сделать с этим?

4b9b3361

Ответ 1

Вам нужно использовать DateTime.TryParseExact.

var newDate = DateTime.ParseExact("20111120", 
                                  "yyyyMMdd", 
                                   CultureInfo.InvariantCulture);

ИЛИ

string str = "20111021";
string[] format = {"yyyyMMdd"};
DateTime date;

if (DateTime.TryParseExact(str, 
                           format, 
                           System.Globalization.CultureInfo.InvariantCulture,
                           System.Globalization.DateTimeStyles.None, 
                           out date))
{
     //valid
}