2011-03-16 72 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