1

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

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

4

3 回答 3

0

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

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

例如

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

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

在此处输入图像描述

于 2015-07-16T08:24:18.663 回答
0

尝试这个:-

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
于 2016-03-01T12:35:56.730 回答
0

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

例如:

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

于 2018-10-05T15:31:16.527 回答