我正在解析ASP.NET WebForms
页面中的DateTime值,并且日期字符串始终被该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
在上面给出了a ,但是当我为该参数提供CultureInfo
对象
时,也会出现相同的问题(CultureInfo provider = new CultureInfo("en-US"))
。
我想念什么?