Asp.net SQL Express以MM/DD/YYYY格式存储日期

Asp.net SQL Express以MM/DD/YYYY格式存储日期,asp.net,sql-server-express,Asp.net,Sql Server Express,我有一个ASP.NET程序正在将日期写入DD/MM/YYYY中的SQLExpress数据库日期字段 当我查看SQL Express中的数据时,它存储为mm/dd/yyyy 我如何将其配置为DD/MM/YYYY格式存储?也许您可以这样选择: select CONVERT(varchar(12) , getdate(), 103 ) 也许你可以这样选择: select CONVERT(varchar(12) , getdate(), 103 ) 这是不可能的,因为日期在内部存储为数字,DD/

我有一个ASP.NET程序正在将日期写入DD/MM/YYYY中的SQLExpress数据库日期字段

当我查看SQL Express中的数据时,它存储为mm/dd/yyyy


我如何将其配置为DD/MM/YYYY格式存储?

也许您可以这样选择:

select CONVERT(varchar(12) , getdate(), 103 ) 

也许你可以这样选择:

select CONVERT(varchar(12) , getdate(), 103 ) 

这是不可能的,因为日期在内部存储为数字,DD/MM/YYYY或MM/DD/YYYY格式只是数据的显示格式。但是,您可以通过SQL函数更改数据转换为字符串的方式…

这是不可能的,因为日期在内部存储为数字,DD/MM/YYYY或MM/DD/YYYY格式只是数据的显示格式。但是,您可以通过SQL函数更改将数据转换为字符串的方式…

您看到的是内部日期表示的呈现本地化版本(自1900年1月1日以来的天数)


别担心。您可以将日期返回给您的客户(以内部日期表示形式),并且可以按照您喜欢的方式进行格式化。

您看到的是内部日期表示形式的渲染、本地化版本(自1900年1月1日起的天数)


别担心。您可以将日期返回给您的客户(以内部日期表示形式),并且可以按照您喜欢的格式进行格式化。

正常存储数据。检索数据时,对代码执行以下操作:

dateField.ToString("dd/MM/yyyy")

您的结果将是:2011年4月11日正常存储数据。检索数据时,对代码执行以下操作:

dateField.ToString("dd/MM/yyyy")

您的结果将是:2011年4月11日

例如,我正在向数据库a写信,日期为2011年4月11日09:48:33。当我查看database date字段时,它是2011年11月4日09:48:33我不得不处理许多有关日期区域设置的问题,因此我建议您使用无法切换月份和日期且仍然具有有效日期的日期进行测试。因此,如果您尝试使用2011年4月15日,您将知道它是否以您期望的格式读取(它将失败,因为没有第15个月)。这将为您提供更多信息。它失败了,奇怪的是,数据库中的日期是正确的dd/mm/yyyy。只有当我插入一个记录时,它才会交换dd和mm并存储它。奇怪吧。在SQL Server中使用日期时,我建议始终使用ISO-8601格式(
YYYYMMDD
),它与语言和区域设置无关,并且始终适用于我正在向数据库a写入日期为2011年4月11日09:48:33的实例。当我查看database date字段时,它是2011年11月4日09:48:33我不得不处理许多有关日期区域设置的问题,因此我建议您使用无法切换月份和日期且仍然具有有效日期的日期进行测试。因此,如果您尝试使用2011年4月15日,您将知道它是否以您期望的格式读取(它将失败,因为没有第15个月)。这将为您提供更多信息。它失败了,奇怪的是,数据库中的日期是正确的dd/mm/yyyy。只有当我插入一个记录时,它才会交换dd和mm并存储它。奇怪啊。在SQL Server中使用日期时,我建议始终使用ISO-8601格式(
YYYYMMDD
),它与语言和区域设置无关,并且始终显示我是否尝试使用dd/mm/yyyy从数据库中读取记录。我必须将其转换为mm/dd/yyyy。当然,这是一个很好的例子。@TeaDrinkingGeek:你不是在读dd/mm/yyyy或mm/dd/yyyy。您用来查看数据的工具正在使用您的区域设置或数据库设置以这种方式呈现数据。问题是,如果我使用此选项重新读取字符串:Convert.ToDateTime(MyReader[“Date”]).ToString(“dd/MM/yyyy”);它显示为mm/dd/yyyy。@TeadrinkGeek:它在数据库中存储为日期吗?我检查了数据库,它存储为dd/mm/yyyy。那么为什么它要交换dd和mm呢?如果我这样做:插入笔记本(日期,注释)值('11/04/2011 11:02:46','test'),它认为04是dd和11 mm。如果我尝试使用dd/mm/yyyy从数据库中读取记录如何。我必须将其转换为mm/dd/yyyy。当然,这是一个很好的例子。@TeaDrinkingGeek:你不是在读dd/mm/yyyy或mm/dd/yyyy。您用来查看数据的工具正在使用您的区域设置或数据库设置以这种方式呈现数据。问题是,如果我使用此选项重新读取字符串:Convert.ToDateTime(MyReader[“Date”]).ToString(“dd/MM/yyyy”);它显示为mm/dd/yyyy。@TeadrinkGeek:它在数据库中存储为日期吗?我检查了数据库,它存储为dd/mm/yyyy。那么为什么它要交换dd和mm呢?如果我这样做:插入笔记本(日期,注释)值('11/04/2011 11:02:46','test'),它认为04是dd和11 mm。这有帮助:这有帮助: