Я анализирую значение 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"))
для этого параметра.
Что мне не хватает?