注册 登录
编程论坛 VFP论坛

关于论坛两位老师获取时间的代码我怎么没有显示?

wxzd123 发布于 2023-04-09 14:26, 999 次点击
sdta老师的代码
CLEAR
oHTTP = CREATEOBJECT("MSXML2.XMLHTTP")
oHTTP.Open("GET", "http://quan., .F.)
oHTTP.Send()
IF oHTTP.Status = 200
    lcStr = oHTTP.ResponseText
    ALINES(aa, lcSTR, '":', ',')
    ? ctot(&aa[2])
ENDIF
只有本站会员才能查看附件,请 登录


a_bel老师的代码
只有本站会员才能查看附件,请 登录

我的网络没有问题,论坛都能上,我的机器设置有问题吗?谢谢
9 回复
#2
吹水佬2023-04-09 15:05
oHTTP = CREATEOBJECT("MSXML2.XMLHTTP")
oHTTP.Open("GET", "http://quan., .F.)
oHTTP.Send()
IF oHTTP.Status = 200
    lcStr = oHTTP.ResponseText
    ALINES(aa, lcSTR, ':"', '",')
    ? CTOT(aa[2])
ENDIF
#3
csyx2023-04-09 15:13
靠分析网页源码来提取时间的方法从来就不可取,一旦网站输出的页面格式稍有变化就会取不到

截图中第一个网站页面返回的是一个json串,目前还可以认为比较正规
{"sysTime2":"2023-04-09 15:12:31","sysTime1":"20230409151231"} 这样一个格式你应该可以很容易的解析出日期/时间
至于第二个链接,建议不要再使用

在对精度要求不高的情况下(通常我们只需要精确到秒就可以满足要求了),直接取响应头中的日期即可
? oHttp.getResponseHeader('Date')
#4
wxzd1232023-04-09 15:15
版主,直接运行PRG就可用吧,还是一样
#5
wxzd1232023-04-09 15:16
只有本站会员才能查看附件,请 登录
#6
吹水佬2023-04-09 15:22
回复 5楼 wxzd123
先看看这个:
 ?lcStr
#7
wxzd1232023-04-09 17:54
版主这个有,怎么跟系统版本有关吗?还其他问题,怎么不通用?
只有本站会员才能查看附件,请 登录
#8
my23182023-04-09 17:57
个人感觉如果使用了SQL数据库,不妨取SQL服务器时间作为系统标准时间,这样比较简单
#9
csyx2023-04-09 18:05
也许你的默认日期格式不同,看看
? Set('Date')
如果不是 ANSI, YMD 这些,先执行一次 set date to ansi 再 ctot
#10
wxzd1232023-04-09 18:57
回复 9楼 csyx
只有本站会员才能查看附件,请 登录

果然是
set date to ansi
执行完就好了
谢谢
1