Возможные входные данные:
05/03/2005 23:59:59.999
05/3/2005 23:59:59.999
5/03/2005 23:59:59.999
5/3/2005 23:59:59.999
etc...
Код:
lines = lines + " 23:59:59.999"; //YYYY-MM-DDThh:mm:ss[.mmm]
DateTime datetest;
if (DateTime.TryParseExact(lines, "MM/dd/yyyy HH:mm:ss.mmm", new CultureInfo("en-US"), DateTimeStyles.None, out datetest))
{
}
else
{
//Log and Drop
logfile.WriteLine(System.DateTime.Now.ToString("yyyy.MM.dd.HH.mm.ss") + ": Row #" + row + ", Column #" + (i) + " was not a date in the right format, dropping line. ");
logfile.WriteLine("Original: " + lines);
Console.WriteLine("Date Wrong");
Console.WriteLine("Date: " + lines);
string input = Console.ReadLine();
continue;
}
Вывод на консоль:
Date Wrong
Date: 5/23/2004 23:59:59.999
ОБНОВЛЕНИЕ:
Я попробовал изменить синтаксический анализ для поиска M/dd /гггг вместо этого. Однако теперь вместо этого я получаю этот вывод.
Date Wrong
Date: 05/23/2005 23:59:59.999
ОБНОВЛЕНИЕ 2:
Хорошо, я попробовал изменить синтаксический анализ, чтобы найти " М/д/гггг ЧЧ:мм:сс.ффф», как многие предлагали. Теперь я получаю следующий результат:
Date Wrong
Date: 23.59.59.999
ОБНОВЛЕНИЕ 3:
Хорошо, я попробовал «M/d/ y H
Date Wrong
Date: 05/23/2005 23:59:59.999
Подробнее здесь: https://stackoverflow.com/questions/245 ... urns-false