DateTimeFormatInfo.GetAllDateTimePatterns()
метод возвращает на моей машине (tr-TR
культуры) 29 формата, но ни один из них поддержки d/M/yyyy
формата даты, что нет, почему вы получаете FormatException
.
Но в моей культуре DateSeparator
является .
поэтому я не могу точно решить эту проблему с помощью CultureInfo.CurrentCulture
, но когда я использую Египет CultureInfo (он писал в своем профиле) CultureInfo.GetCultureInfo("ar-EG")
этот код работает без каких-либо ошибок;
CultureInfo provider = CultureInfo.GetCultureInfo("ar-EG");
string[] format = provider.DateTimeFormat.GetAllDateTimePatterns();
DateTime d = DateTime.ParseExact("13/02/2013", format, provider, DateTimeStyles.None);
Unfortunatly ваш все ваш шаблон даты и время не поддерживает формат d/M/yyyy
.
![enter image description here](https://i.stack.imgur.com/BBFJJ.png)
Unfortunatly, изменяя эту строку
13/02/2013
не решает эту проблему, потому что, как я сказал в ранее, мои все форматы (в
tr-TR
культуры) не поддерживает формат
dd/MM/yyyy
либо.
Мой скромный совет здесь, перечислите все ваши шаблоны datetime и проверьте вручную, если ваша строка распознана в формате с этим шаблоном datetime;
string[] format = provider.DateTimeFormat.GetAllDateTimePatterns();
foreach (var f in format)
{
///
}
![enter image description here](https://i.stack.imgur.com/4mIzZ.png)
Что такое тип Follow.RequestDate? И какая у вас культура? Является ли MM/DD/YYYY действительным? – Jocke
Что _is_ 'CurrentCulture' (' поставщик')? В некоторых культурах строка разделителя дат отличается от ''/''. –