将YYYYMMDDstringdate转换为date时间值

可能重复:
在c#中将string转换为DateTime

一个问题

我得到了一个实际从directoryInfo获得的string值。 我想要完成的是将string值转换为date值进行比较。

文件夹名称是这样的示例C:\ FOLD \ 20111120和正确的另一个文件夹path是这样的C:\ FOLD \ 20111021

20111120实际上是一个date格式。 我正试图将其转换为date格式,以便作出一些比较决定删除整个目录或不。

我想我应该在这里粘贴我的代码

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(),我得到错误,无法做出converstion.How我可以这样做呢?

你应该必须使用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 }