0

通过此代码:

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

4

1 回答 1

6

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

不,它会以 .NET 代码的形式返回到您的 .NET 代码中DateTime。你用它做什么是你的事。

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

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

于 2013-07-04T18:40:10.727 回答