C# 将YYYYMMDD字符串日期转换为日期时间值
可能重复:C# 将YYYYMMDD字符串日期转换为日期时间值,c#,.net,datetime,C#,.net,Datetime,可能重复: 问题 我得到了一个字符串值,它实际上是从directoryInfo获得的。 我想要完成的是将字符串值转换为日期值以进行比较 文件夹名称如下所示:C:\FOLD\20111120 另一个文件夹路径是这样的 C:\FOLD\20111021 20111120实际上是一种日期格式。我试图将其转换为日期格式,以便进行比较,决定是否删除整个目录 我想我应该把代码贴在这里 DirectoryInfo dir = new DirectoryInfo(_FolderPath); foreach
问题 我得到了一个字符串值,它实际上是从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(),但出现了无法进行对话的错误。我如何使用此选项?您应该使用DateTime.TryParseExact
var newDate = DateTime.ParseExact("20111120",
"yyyyMMdd",
CultureInfo.InvariantCulture);
或
+1,但如果只使用带有
TryParseExact
的单一格式字符串,则不需要传递数组:从技术上讲,这可能是一个重复的字符串,但更清楚地说,这是我需要的+1.
string str = "20111021";
string[] format = {"yyyyMMdd"};
DateTime date;
if (DateTime.TryParseExact(str,
format,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,
out date))
{
//valid
}