我在c#中使用linq.but編寫日期範圍過濾器的代碼,在server.in上獲取像這樣的錯誤,我的本地代碼工作得很好,但在服務器上部署出錯。在c#中字符串未被識別爲有效的DateTime?
在這裏,我嘗試這個代碼:
string fromDate = "15-03-2017";
string toDate = "17-03-2017";
DateTime FromDate = Convert.ToDateTime(fromDate);
DateTime ToDate = Convert.ToDateTime(toDate);
UserList = db.Users
.Where(t => DbFunctions.TruncateTime(t.datetime) >= FromDate && DbFunctions.TruncateTime(t.datetime) <= ToDate)
.OrderByDescending(a => a.datetime)
.ToList();
我不知道哪裏是我在這個查詢mistke有任何人知道,那麼請讓我知道如何Ø解決此issue.in本地代碼工作得很好但在服務器上出現錯誤。
這很可能是您的區域設置不同於您的服務器上...所以有三種方法來解決它1 =>更改服務器設置... 2改變web.config。3 =>寫出體面的轉換代碼:) –
使用[Convert.ToDateTime(string,IFormatProvider)](https:// m sdn.microsoft.com/en-us/library/9xk1h71t.aspx)過載。服務器文化與本地機器不同。你很幸運,你得到的錯誤,而不是服務器默默誤讀月份,反之亦然。 – Martheen
這個問題與LINQ沒什麼共同之處,請刪除'linq'標籤。 –