将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 }