“从字符串向 datetime 转换时失败”,“ASP函数Now()”

本文介绍了一种解决ASP程序中Now()函数显示时间带上午下午字样问题的方法,包括修改系统时间格式设置及注册表配置,确保正确显示24小时制时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  今天运行一个网站程序,本来好使的一个程序在本地就是运行错误,每次运行打开网站总是提示:“从字符串向 datetime 转换时失败”。经过检查数据库发现,数据库中的日期字段的字符串包含“上午”导致使用Datadiff转换的时候出现错误,经过仔细检查发现这个日期是通过asp中的new()函数获得的,在网上提出的解决方案为:

  原文地址为:http://www.webjx.com/asp/2009-07-12/14418.html

  新上的一台服务器出现了一个现象: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(),现在已经成功的不再显示该死的“上午”“下午”字样了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值