Преобразование даты строки 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(), и я получаю ошибку, которая неспособна сделать конверсию. Как я могу это сделать с этим?
Ответы
Ответ 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
}