最近把之前老古董asp程序又用上了,因为电脑是mac的,所以搞了一个虚拟机,虚拟机装了win7系统,iis也搞上了,程序是运行起来了,但是添加信息、修改信息时,总是提示:将字符串转换为 smalldatetime 数据类型时失败。
找了很多方法都没用:
1、修改电脑的短时间格式、修改24小时显示格式(无效)
2、修改注册表方式:(无效)
修改注册表就可以了。
1、控制面板--区域和语言选项--把时间设置为24小时格式。
2、建立 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/OLEAUT/VarConversionLocaleSetting= 2 (DWORD)
备注:OLEAUT 项可能不存在。如果它不存在,则必须先创建该项。
3、删除注册表中的“上午”、“下午”。(无效)
1.这么显示,一般都是因为服务器就是如此设置的,先查看时间格式:直接双击任务栏中时间,在弹出的“时间和日期”中果然显示了上午下午这样的字样,那就进入下一步设置;
2.打开控制面板,选择“区域和语言选项”,在“区域选项”中选择自定义,选择“时间”标签,将时间格式设置为“H:mm:ss ”即24小时制时间,将下面的AM符号和PM符号后的值清空,单击“确定”保存设置;
3.此时再打开“时间和日期”,时间中已经不显示上午和下午的字样了,进入下一步检验;
4.重启IIS后,执行ASP函数Now(),结果让我很失望,还是显示了大大的“下午”两个字,那现在就不是这个问题了,应该就是没有使用系统区域设置的时间;
网上目前这3个方法是最多的,挨个试了都无效,感觉是系统的问题,后来果然确认了这一点。
上面的第二个方法其实是正确的,只是系统不同所以无效果。
我的测试环境是win7,使用的是iis7,所以最终的修改方式为:
[HKEY_USERS.DEFAULT\Control Panel\International]
修改注册表的International中的项目,看图:
大写“H”是24小时格式,小写”h”是12小时格式。
终于解决了,真不容易。
帮助后来人遇到这个问题,能有解决的方式。