[c#] Convert YYYYMMDD string date to a datetime value

Possible Duplicate:
Convert string to DateTime in c#

A question

I got a string value that actually get from directoryInfo. What i wanted to accomplish is to convert the string value to a date value for making comparison.

The folder name is sample like this C:\FOLD\20111120 and properly another folder path is like this C:\FOLD\20111021

20111120 is actually a date format. I am trying to convert it into date format to made some comparison decide to deleting the whole directory or not.

I think i shall paste my code here

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());
}

I tried with Convert.toDatetime() and i get error that unable to made the converstion.How can i do so with this?

This question is related to c# .net datetime

The answer is


You should have to use DateTime.TryParseExact.

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

OR

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

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

Similar questions with c# tag:

Similar questions with .net tag:

Similar questions with datetime tag: