我在尝试过滤两个日期之间的列表时遇到问题。我有一个在我们的本地机器.NET 3.5上运行的解决方案。解决方案运行正常,没有任何错误。但是当我把它放在我们的服务器上时(2008),我得到了
System.FormatException:String未被识别为有效的DateTime。
如果我将我的机器日期/时间格式从英语(英国)更改为英语(美国),我可以在本地重新创建问题。
问题是我将服务器设置设置为与本地解决方案完全相同,但我仍然遇到错误。
涉及的代码是
public DateTime StartDate
{
get
{
if (this.ViewState["StartDate"] != null)
{
return DateTime.Parse(this.ViewState["StartDate"].ToString());
}
else { return DateTime.Today.AddYears(-1); }
}
private set
{
this.ViewState["StartDate"] = value.ToString();
}
}
public DateTime EndDate
{
get
{
if (this.ViewState["EndDate"] != null)
{
return DateTime.Parse(this.ViewState["EndDate"].ToString());
}
else { return DateTime.Today; }
}
private set
{
this.ViewState["EndDate"] = value.ToString();
}
}
请帮忙!
答案 0 :(得分:1)
答案 1 :(得分:0)
Hej,尝试将文化信息指定为DateTime.Parse
方法,例如:
DateTime.Parse(dateString, new CultureInfo("en-US", false))