2011-04-15 71 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錯誤:)

相關問題