2010-09-12 84 views
3

我有MS SQL在我的本地開發服務器和生產服務器。我的本地服務器的DateTime格式爲「mm/dd/yyyy」,但生產服務器中的格式爲「dd/mm/yyyy」。在我的本地服務器中,每件事都能正常工作,但是當我嘗試在我的生產服務器中輸入「05/31/2010」之類的日期時,模型驗證投出了錯誤「The value '05/31/2010'無效....「因爲月份不能大於12.我不想在任何一臺服務器中更改日期時間。有人可以告訴我一種方法來擺脫這個問題,以便在我的兩臺服務器中一切正常。ASP MVC日期時間問題模型驗證問題

回答

0

我認爲this article可能是你以後,與本地化如何模型綁定工作方面。

您不清楚您輸入數據的位置,但我建議您明確地告訴用戶以一種特定格式輸入日期,或者使用日曆選取器,或者分隔UI中的三個字段。基本上不要把它弄糊塗 - 你讓用戶採取一種格式,而不是你實際使用的格式。

注意,所有這一切,隨時隨地獲取附近的數據庫之前,必須做得很好 - 你數據庫的格式應該是無關緊要的,因爲你應該使用它永遠只能對付DateTimeDateTimeOffset的時間參數化查詢相關值。

+0

我有一個jQuery的日期選擇器,其獲取的日期在「MM/DD/YYYY」格式和我使用的ASP MVC 2。我在想,如果有反正知道是什麼格式的SQL服務器設置爲,然後接受日期格式在運行時。可以這樣做嗎? – Johnson 2010-09-12 15:14:26

1

你可以嘗試添加Globalization元素到Web.config - 配置>的System.Web:

<globalization culture="en-US" uiCulture="en-US" /> 

我有一個類似的問題 - 但無可否認,作爲一個英國人,反向 - 這固定問題。