Я начинающий программист, работающий над парсером C# -WPF, который читает строки из документа и создает объекты с несколькими полями, включая «Дата добавления», поле. Проблема: дата находится в нестандартном, испанском формате, и я не могу сделать работу DateTime.ParseExact, как предлагалось мной. Это код:Разбор нестандартной строки date DateTime (ParseExact не работает)
string input = dateAddedStringSPA; //domingo 2 septiembre 2012, 23:54:20
string format = "dddd dd MMMM yyy, HH:mm:ss";
CultureInfo cultureInfo = new CultureInfo("es-ES");
DateTime dateAddedSPA;
try
{
dateAddedSPA = DateTime.ParseExact(input, format, cultureInfo);
if (dateAddedSPA == DateTime.MinValue)
{
clipping.DateAdded = DateTime.Now; /*Added this conditional workaround to avoid an exception if parsing fails (and always fails). While this doesn't work every object will have the same date: current. */
}
else
{
clipping.DateAdded = dateAddedSPA;
}
}
catch (Exception)
{
throw new Exception("Error encountered while adding date.");
}
Комментарий, который вы можете видеть на стороне входа фактический формат строки, которая выглядит следующим образом. «format» - это моя попытка получить DateTime, чтобы понять это, я также попытался удалить запятую после года, все еще не работал. Я не уверен, что это культура, которая вызывает проблемы, но я боюсь, что мой опыт еще недостаточно, чтобы знать. Дело в том, что синтаксический анализ завершился неудачно, и я установил дату, установленную на 1/1/0001 12:00:00 AM. Любой намек на то, что здесь может произойти?
Заранее спасибо.
Вы хотите «d» вместо «dd» - и вы, вероятно, хотите «yyyy». В этот момент он должен работать. –
Это был Джон, спасибо большое. Теперь он не читает некоторые даты, но, по крайней мере, он читает некоторые другие, и я знаю, в каком направлении я должен руководствоваться. – Edword