新上的一台服务器出现了一个现象:ASP程序中,调用函数Now(),显示的时间总是形如“2009-07-12 上午 08:12:56 ”这样的,总显示“上午”和“下午”,解决过程及最终解决方法如下:
- 这么显示,一般都是因为服务器就是如此设置的,先查看时间格式:直接双击任务栏中时间,在弹出的“时间和日期”中果然显示了上午下午这样的字样,那就进入下一步设置;
- 打开控制面板,选择“区域和语言选项”,在“区域选项”中选择自定义,选择“时间”标签,将时间格式设置为“H:mm:ss ”即24小时制时间,将下面的AM符号和PM符号后的值清空,单击“确定”保存设置;
- 此时再打开“时间和日期”,时间中已经不显示上午和下午的字样了,进入下一步检验;
- 重启IIS后,执行ASP函数Now(),结果让我很失望,还是显示了大大的“下午”两个字,那现在就不是这个问题了,应该就是没有使用系统区域设置的时间;
- 强制ASP时间使用使用区域设置里面的时间格式,方法如下:打开注册表编辑器,进入HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\,建立OLEAUT的项,在该项下建立名称为“VarConversionLocaleSetting”的DWORD值,数据设置为2,设置完成后退出注册表编辑器;
- 重启IIS后,再次测试ASP函数Now(),现在已经成功的不再显示该死的“上午”“下午”字样了。