Day/Month/Year 日期更改为 Month/Day/Year SQL

Day/Month/Year date changed to Month/Day/Year in SQL

我有一个旧的 Classic ASP 应用程序运行良好,最近它被移动到 window 服务器 2012 服务器与 IIS 8.5,问题是我有一个表格来添加记录Day/Month/Year 格式,当在 SQL 中输入的日期为 23/06/2015 时,将正确添加为 23/06/2015 但当日期输入为 01/06/2015 时:2015 年 6 月 1 日在 SQL 将添加为 06/01/2015 Month/Day/Year 这将是不正确的

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

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

更新 解释您的评论:在 insert/update 查询中更改日期字符串的格式时,它不会更改 sql table 本身的格式。

例如

UPDATE [table]
SET [column] = '20150716 10:22'
WHERE Id = 7489

查看后显示与table中的其他记录相同:

试试这个:-

https://www.webwiz.co.uk/kb/asp-tutorials/date-time-settings.htm

在 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

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

例如:

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 页面格式化日期,只打印原始数据。