應用程序在系統日期格式,顯示格式或T-SQL語句中存在日期問題是很常見的。目前我正在開始新項目並尋找處理日期的標準解決方案。管理日期時間問題
有時候可能會出現這樣的情況,客戶想要在應用程序級別更改所有日期的顯示格式。我想以最小的努力處理這些事情,而不會干擾整個項目代碼。
請建議我來處理使用.NET Framework 4.0在C#中的日期與所有的系統日期格式
應用程序在系統日期格式,顯示格式或T-SQL語句中存在日期問題是很常見的。目前我正在開始新項目並尋找處理日期的標準解決方案。管理日期時間問題
有時候可能會出現這樣的情況,客戶想要在應用程序級別更改所有日期的顯示格式。我想以最小的努力處理這些事情,而不會干擾整個項目代碼。
請建議我來處理使用.NET Framework 4.0在C#中的日期與所有的系統日期格式
有很多方法效果最好的方式,但我會提到的2我更頻繁地使用。
使用SqlCommand對象並將Date參數作爲DateTime傳遞給db中的日期時間字段。
使用標準SQL日期格式「yyyy-MM-dd HH:mm:ss.ttt」將日期作爲字符串傳遞給db中的日期時間字段。
希望這會有所幫助。
通用日期格式應該是所有的時間,而從應用程序傳遞日期到sql天氣比較sql日期;通用格式的日期套裝並按照日期標準執行。
您可以使用通用日期格式「2013-08-31 10:04:44000」或「20130831」。
而且您還可以創建擴展方法(C#3.0+)並在整個應用程序中使用該方法。
您可以將您的日期時間對象轉換爲ISO 8601格式並將其傳遞給SQL Server。
您可以日期時間轉換爲ISO 8601,如下圖所示,並檢查出Standard Datetime format string:
myDateTime.ToString("s")
欲瞭解更多信息,請通過下面的線,顯示瞭如何將其轉換爲ISO 8601格式:
Given a DateTime object, how do I get an ISO 8601 date in string format?
在數據庫中從不將日期時間存儲爲字符串,但only datetime和never format datetime at database level。
我會建議使用一個好的ORM(對象關係映射)解決方案,將爲您照顧這個。 – Aphelion
大部分日期格式化問題的出現是因爲數據被保存在字符串中(而不是更合適的數據類型)的時間超過了必要的時間。應儘早從用戶輸入中解析字符串,格式只能在直接在輸出中顯示日期的代碼中執行。 –
@Damien_The_Unbeliever +1,我也會添加只處理UTC。 –