我有一个老式的经典ASP应用程序,运行得很好,最近它被移动到IIS 8.5的窗口服务器2012服务器,问题是我有一个表单添加日/月/年格式的记录,当日期在2015年6月23日输入的SQL将在2015年6月23日正确添加但是当输入日期为2015年6月1日:2015年6月1日将添加为06/01/2015月/日/年将是不正确的
我检查了服务器的位置和日期格式,它是dd / mm / yyyy,数据库自旧服务器SQL 2008以来没有改变。 我在网上搜索,发现我需要改变全球化下的IIS文化,但即使我选择了我的国家,我也不知道该选择什么,我也面临同样的问题。 任何建议
答案 0 :(得分:0)
如果您不想改变全球化和本地化设置,那么简单的答案就是在将日期作为字符串插入时使用通用日期输入YYYYMMDD
。
<强>更新强> 要解释您的注释:在插入/更新查询中更改日期字符串的格式时,它不会更改sql表本身的格式。
e.g。
UPDATE [table]
SET [column] = '20150716 10:22'
WHERE Id = 7489
查看时显示的内容与表格中的其他记录相同:
答案 1 :(得分: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
答案 2 :(得分: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页面设置日期格式,只需打印原始即可。