У меня возникли некоторые трудности при разборе строк DateTime с использованием DateTime.ParseExact.
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;
// Parse date-only value with invariant culture.
//format = "mm/dd/yyyy";
format = "d";
try
{
result = DateTime.ParseExact(data+" 12:00:00 AM", format, provider);
}
data - строковая переменная, загруженная датами в формате «20.05.2009». Я попытался использовать фальшивое время, просто чтобы посмотреть, сработает ли это, и это не сработало (с тэком или без него). Я также пытался использовать спецификатор формата "g", и он не работал, я всегда получаю исключение, что это недопустимая строка DateTime. Единственные даты, на которые он работает, это как «20.12.2009» (обратите внимание, что 2 цифры в части «ММ»)
Я не могу заставить эту процедуру работать с однозначными месяцами! Собственный пример Microsoft из MSDN:
6/15/2009 1:45:30 PM -> 6/15/2009 (en-US)
и с этим работать не будет. Я просто не понимаю, что я делаю неправильно. Я также попробовал свои собственные спецификаторы формата, такие как "mm / dd / yyyy" и "MM / dd / yyyy", но безрезультатно.