2012-11-05 34 views
1

我想知道是否有方法根據用戶本地日期格式設置更改日期格式。我將在DB中存儲的日期是YYYY-MM-DD,但用戶有不同的格式,如DD-MM-YYYYDD.MM.YYYY。什麼是乾淨優雅的方式來確保我的應用程序始終以當地日期格式回顧日期,並且SQL服務器始終會收到要存儲的日期YYYY-MM-DDC#更改不同格式之間的日期

+1

你應該使用'DATETIME'列類型存儲日期返回日期爲使用用戶的各區域性設置的字符串。如果你不這樣做,你應該。 – Oded

回答

7
在DB

YYYY-MM-DD

號如果你這樣做是正確的數據庫存儲不具備的格式。它被存儲,例如,作爲一個數字。

什麼是乾淨,優雅的方式,以確保我的應用程序始終retrives

您的應用程序接收它作爲一個二進制值過當地日期格式。每當它變成一個字符串時,你都必須考慮格式。

在當地的日期格式

對於您可以依靠機器配置:datevalue.ToString()

但通常你想控制的:datevalue.ToString(specificCultureInfo)

0

應始終保存在DateTime對象的日期。要解析一個日期,你可以在知道日期格式時使用DateTime.TryParseExcact,當你想使用你的用戶偏好時可以使用TryParse。然而,使用dedecated date控件從用戶獲取日期會更好。

0

A DateTime對象沒有格式。你可能在談論日期的字符串表示。

你可以通過調用DateTime.ToShortDateString()

DateTime date = new DateTime(2012, 01, 01); 
string dateStringInCurrentCultureFormat = date.ToShortDateString();