Datetime 日/月/年日期在SQL中更改为月/日/年

Datetime 日/月/年日期在SQL中更改为月/日/年,datetime,asp-classic,date-format,iis-8.5,window-server,Datetime,Asp Classic,Date Format,Iis 8.5,Window Server,我有一个旧的经典ASP应用程序,它工作得很好,最近它被移动到Windows server 2012服务器,使用IIS 8.5,问题是我有一个表单可以添加日/月/年格式的记录,在SQL中输入为2015年6月23日的日期将正确添加为2015年6月23日,但在SQL中输入为2015年6月1日的日期:2015年6月1日将添加为2015年6月1日,这将是不正确的 我检查了服务器的位置和日期格式,它是dd/mm/yyyy,并且数据库自旧服务器SQL 2008以来没有更改。 我在网上搜索,发现我需要改变全球化

我有一个旧的经典ASP应用程序,它工作得很好,最近它被移动到Windows server 2012服务器,使用IIS 8.5,问题是我有一个表单可以添加日/月/年格式的记录,在SQL中输入为2015年6月23日的日期将正确添加为2015年6月23日,但在SQL中输入为2015年6月1日的日期:2015年6月1日将添加为2015年6月1日,这将是不正确的

我检查了服务器的位置和日期格式,它是dd/mm/yyyy,并且数据库自旧服务器SQL 2008以来没有更改。 我在网上搜索,发现我需要改变全球化下的IIS文化,但我不知道该选择什么,即使我选择了我的国家,我仍然面临着同样的问题。
任何建议

如果您不想更改全球化和本地化设置,简单的答案是在将日期作为字符串插入时使用通用日期输入
YYYYMMDD

更新 解释注释:在insert/update查询中更改日期字符串的格式时,不会更改sql表本身的格式

e、 g

查看时,显示的内容与表中的其他记录相同:


如果您不想更改全球化和本地化设置,简单的答案是在将日期作为字符串插入时使用通用日期输入
YYYYMMDD

更新 解释注释:在insert/update查询中更改日期字符串的格式时,不会更改sql表本身的格式

e、 g

查看时,显示的内容与表中的其他记录相同:

试试这个:-

在global.asa中添加一个条目,如下所示

'When a session starts on the server the following code will be run
Sub Session_OnStart

     'Set the server locale
     Session.LCID = 2057

End Sub
试试这个:-

在global.asa中添加一个条目,如下所示

'When a session starts on the server the following code will be run
Sub Session_OnStart

     'Set the server locale
     Session.LCID = 2057

End Sub

有时,当没有任何解决方案可以解决此问题(或者全局解决方案可能损坏旧脚本)时,可以使用convert函数来更改存储过程中的格式

例如:

select getdate() --prints 2018-10-05 12:24:43.597
select Convert(char(10),getdate(),103) --To force the date to be dd/mm/yyyy

不要让asp页面格式化日期,只需原始打印。

有时,如果没有任何解决方案可以解决此问题(或者全局解决方案可能会损坏旧脚本),您可以使用转换函数来更改存储过程中的格式

例如:

select getdate() --prints 2018-10-05 12:24:43.597
select Convert(char(10),getdate(),103) --To force the date to be dd/mm/yyyy

不要让asp页面格式化日期,只需打印原始数据。

谢谢您的回复,我已经在iis中更改了应用程序的全球化,但什么也没有发生,而且数据库已经有了巨大的数据更改。现在输入的日期将影响数据。格式仅为insert语句更改,不在数据库中,因此您的现有数据将保持不变。iis服务器中是否有任何其他设置可以修改,以解决此问题,而不是更新插入和更新功能(这将是我的最后一个选项)?联机快速搜索建议您需要设置您使用的用户的默认语言。一个这样的链接:谢谢你的回复,我已经在iis中更改了应用程序的全球化,但什么都没有发生,而且数据库已经有了巨大的数据更改现在输入的日期将影响数据格式只更改了insert语句,不在数据库中,因此您的现有数据将保持不变。iis服务器中是否有任何其他设置可以修改,以解决此问题,而不是更新插入和更新功能(这将是我的最后一个选项)?联机快速搜索建议您需要设置您使用的用户的默认语言。一个这样的链接:这可能不是IIS问题,很可能是SQL Server问题。是否检查了SQL使用的区域?这可能不是IIS问题,很可能是SQL Server问题。您检查过SQL使用的区域了吗?