2011-04-15 91 views
1

我卡在这里为什么我在本地正常运行我的项目,但是当我上传到服务器时出现此错误。字符串未被识别为有效的日期时间

我通过这样。

///////////////////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

这必须是此处最常见的问题之一。当你创建你的问题时,至少有*一些问题必须弹出来(例如[this])(http://stackoverflow.com/questions/1368064/system-formatexception-string-was-not-recognized -as-a-valid-datetime),[this](http://stackoverflow.com/questions/2193012/string-was-not-recognized-as-a-valid-datetime-format-dd-mm-yyyy)和[this](http://stackoverflow.com/questions/3044276/converting-string-to-valid-datetime)。你有没有检查它们? – 2011-04-15 10:27:35

+0

可能的重复[转换字符串到DateTime在C#](http:// stackoverflow.com/questions/1592653/convert-string-to-datetime-in-c) – 2011-04-15 10:32:30

回答

2

这是一个文化问题

尝试使用ParseExact:

DateTime.ParseExact(Request.Params["dFrom"], "MM/dd/yyyy", CultureInfo.InvariantCulture) 

希望这有助于。

0

你可能想)尝试使用DateTime.Parse(而不是Convert.ToDateTime

DateTime dFrom = DateTime.Parse(Request.Params["dFrom"]); 
DateTime dTo = DateTime.Parse(Request.Params["dTo"]); 
+0

ParseExact与文化信息可能是一个比这更好的答案,请参阅alexl的回答 – lxalln 2011-04-15 10:25:01

+0

这1我尝试但没用 – 2011-04-15 11:04:53

0

你可以尝试DateTime.Parse(串),看看它是否得到一个更好的结果,否则GET串应该是另一种格式。 CurrentCulture也可以修改输出。

0

我有这个相同的问题,它在本地工作为dd-mm-yy,但将网站发布到服务器后出现错误:“字符串未被识别为有效的DateTime”,所以我将其更改为mm- DD - YY和它在服务器上工作,但后来在本地我得到的错误,我假设,因为我的聊天室主机是在美国,所以服务器的日期格式是不同于这里在澳大利亚。所以要解决这个烦人的问题,我只是将我的控制面板中的日期设置更改为mm-dd-yy,现在没有更多的DateTime错误:)

相关问题