Я анализирую значение DateTime на странице ASP.NET WebForms, и строка даты продолжает отклоняться методом DateTime.TryParseExact(), даже если она явно соответствует одной из прилагаемых строк формата.
Кажется, что он не работает на моей машине разработки дома, но работает на сервере производства, поэтому я думаю о том, что задействованы локальные параметры даты, но эта ошибка возникает, даже когда я поставляю объект IFormatProvider (CultureInfo) в качестве параметра
Здесь код:
DateTime startDate;
string[] formats = { "dd/MM/yyyy", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy",
"dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy"};
var errStart = row.FindControl("errStartDate"); //my date format error message
if (!DateTime.TryParseExact(txtStartDate.Text, formats, null, DateTimeStyles.None, out startDate))
{
errStart.Visible = true; //we get here even with a string like "20/08/2012"
return false;
}
else
{
errStart.Visible = false;
}
Примечание. Я указываю null FormatProvider в приведенном выше примере , но. Эта проблема возникает, когда я предоставляю объект CultureInfo как
(CultureInfo provider = new CultureInfo("en-US")) для этого параметра.
Что мне не хватает?