2011-03-16 74 views
0

我的計算機區域設置採用英國英文格式。SQL Server以區域設置中指定的格式存儲日期

我將從美國格式的日期保存爲從我的程序到SQL Sever 2008企業版的字符串。

但是當我查看錶格時,我看到日期已經以英國格式保存。該表的數據類型爲nvarchar2000)

簡而言之,我希望將日期保存爲美國格式,而不考慮區域設置。

感謝 Sujay

+5

要將日期**保存爲datetime/date-s **,您還不知道它 – RichardTheKiwi 2011-03-16 09:32:47

回答

0

因爲你的儲蓄爲nvarchar,那麼你不會是ABL從SQL Server進行控制,

,所以我敢打賭,你的機會是其保存

你之前更改日期可以:

var ci = new CultureInfo("en-US");// i think en-gb is for united kingdom but not sure 
fieldvalue = yourdate.ToString("d", ci); 

然後保存fieldValue方法,而不是..

如果您不確定要使用哪種文化,但您知道如何讓字符串在sql server中,您還可以使用ToString("MM/DD/YYYY");將日期轉換爲特定格式。

+0

我想將日期保存爲美國(「en-US」)格式,而不考慮區域因此如果用戶的區域設置具有不同的日期格式,例如英國/丹麥,我仍然希望將日期保存爲美國格式。 (MM/DD/YYYY) – 2011-03-16 09:52:12

+0

我編輯我的答案以美國格式保存..這將工作,儘管區域設置機器有... – Stacker 2011-03-16 09:56:31

+0

System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(「en -我們」); DateTime dt = new DateTime(dtDefaultValuePicker.Value.Year,dtDefaultValuePicker.Value.Month,dtDefaultValuePicker.Value.Day); String str = dt.ToString(ci);我保存了美國格式的日期字符串,但是當我看到db表格時,我會看到英國格式的日期。 – 2011-03-16 09:59:45