为SQL Server或每个数据库设置的DateTime格式

时间:2013-07-04 18:37:54

标签: c# asp.net sql-server database datetime

通过此代码:

var ciIL = CultureInfo.CreateSpecificCulture("he-IL");
var todayNow = DateTime.Now.ToString("g", ciIL );

DateTime将以我的本地首选格式(04/07/2013 20:00

生成

这就是我设置日期/时间的Windows本地化格式的方式,以及我希望在SQL Server中设置的方式(目前我使用的是2012 SP1)

因此,如果要求完全配置的SQL Server的方式太复杂,我将采用一种方法,需要设置每个新的数据库..所以设置将是每个数据库

问题在于我以dd/mm/yyyy格式设置日期,由SQL 进行翻译,因此在Management Studio中显示为2013-04-07 20:00

但它返回到ASP.NET C#代码:07/04/2013 20:00

我想要数据库就像我需要的那样,而不是使用转换方法查询它

我当前数据库中的排序规则设置为:Hebrew_100_CI_AS

并且服务器设置为:Hebrew_100_CI_AI

1 个答案:

答案 0 :(得分:6)

  

并返回到ASP.NET C#代码:07/04/2013 20:00

不,它以DateTime的形式返回到您的.NET代码中。你做的就是你的事业。

您需要区分内在数据(日期和时间)和您可以选择的文本表示。尽可能使用内在数据类型,避免字符串转换,直到确实需要它们为止。特别是,使用参数化SQL并将值保存为参数中的DateTime值。

您可以设置SQL Management Studio在“设置”中某处显示数据的方式,但从根本上说这不会影响您的代码。