我卡在这里为什么我在本地正常运行我的项目但是当我上传到服务器时遇到了这个错误。
我是这样经过的。///////////////////in js///////////////////
'&dFrom='+Ext.getCmp('txtDateFrom').getValue().dateFormat('m/d/Y')
'dTo=' + Ext.getCmp('txtDateTo').getValue().dateFormat('m/d/Y')
///////////////////in c/////////////////////
DateTime dFrom;
DateTime dTo;
dFrom = Convert.ToDateTime(Request.Params["dFrom"]);
dTo = Convert.ToDateTime(Request.Params["dTo"]);
答案 0 :(得分:2)
这是一个文化问题
尝试使用ParseExact:
DateTime.ParseExact(Request.Params["dFrom"], "MM/dd/yyyy", CultureInfo.InvariantCulture)
希望这有帮助。
答案 1 :(得分:0)
供应转换文化(IFormatProvider)。 http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx
答案 2 :(得分:0)
您可能想尝试使用DateTime.Parse()而不是Convert.ToDateTime
DateTime dFrom = DateTime.Parse(Request.Params["dFrom"]);
DateTime dTo = DateTime.Parse(Request.Params["dTo"]);
答案 3 :(得分:0)
您可以尝试DateTime.Parse(string)并查看它是否获得更好的结果,否则GET字符串应该是另一种格式。此外,CurrentCulture可以修改输出。
答案 4 :(得分:0)
我遇到了同样的问题,它在本地工作为dd-mm-yy,但在将我的网站发布到服务器后,我收到错误:“字符串未被识别为有效的DateTime”所以我将其更改为mm-dd - 它和它在服务器上工作,但然后本地我收到错误,我假设因为我的asp.net主机在美国所以服务器日期格式不同于澳大利亚这里。所以为了解决这个恼人的问题,我只需将控制面板中的日期设置更改为mm-dd-yy,现在不再有DateTime错误:)