注册 登录
编程论坛 VFP论坛

如何获得国家授权时间

hdx60 发布于 2022-12-04 10:19, 1010 次点击
下面这段不好使了
xmldoc = Createobject('microsoft.xmldom')
xmldoc.async = .F. &&设置同步下载
*Ret = XmlDoc.Load('http://www.Time. =flash')&&读入 XML 文件(国家授时中心数据)
Ret = XmlDoc.Load('http://www.ntsc. =flash')&&读入 XML 文件(国家授时中心数据)
* 现在改成这个网址了 http://www.ntsc.
If ret = .T.
    recount = XMLTOCURSOR(xmidoc.XML ,'',0)
    ? xmlresult.Year  && 年
    ? xmlresult.Month &&月
    ? xmlresult.Day   &&日
    ? xmlresult.Hour  &&时
    ? xmlresult.minite &&分
    ? xmlresult.minite &&秒
Else
    Messagebox("时间数据读取失败","提示",0)
Endif
6 回复
#2
sdta2022-12-04 12:49
程序代码:
CLEAR
oHTTP = CREATEOBJECT("MSXML2.XMLHTTP")
oHTTP.Open("GET", "http://quan./getSysTime.do", .F.)
oHTTP.Send()
IF oHTTP.Status = 200
    lcStr = oHTTP.ResponseText
    ALINES(aa, lcSTR, '":', ',')
    ? ctot(&aa[2])
ENDIF


[此贴子已经被作者于2022-12-4 17:58编辑过]

#3
hdx602022-12-04 19:17
谢谢!这么简单,而管用!管用!管用
是,是苏宁易购网取得
#4
schtg2022-12-05 07:24
回复 2楼 sdta
学习,谢谢!
#5
cjc10102022-12-05 08:10
留个脚印
#6
a_bel2022-12-06 21:30
回复 楼主 hdx60
程序代码:

TRY
    oXml = CreateObject("MSXML2.XMLHTTP")
    cUrl = "http://time./"
    oXml.Open("GET", cUrl, .F.)
    oXml.Send()
    lcText=STRCONV(oXml.ResponseBody, 11)  && STRCONV(STRCONV(oXml.ResponseBody, 11),2)
    C1 = '北京现在时间:'
    C2 = "。查世界各大城市时差"

    thisform.edit1.value=left(lcText,1004)
    rqsj=ALLTRIM(STREXTRACT(lcText, C1, C2))
    THISFORM.Label1.forecolor=RGB(0,64,0)
    thisform.label1.caption=TTOC(CTOT('&rqsj'),1)+''+TTOC(CTOT('&rqsj'))+''
    RELEASE oXml
CATCH TO mError
    messagebox("可能没有连接网络,请检查网络!",48,"错误提示!")
ENDTRY
#7
hdx602022-12-15 11:27
回复 6楼 a_bel
谢谢!也好用。不过这是在大网站。应该首先采用。
我按自己的要求简化为:
oxml = Createobject("MSXML2.XMLHTTP")
curl = "http://time.
If oxml.Open("GET", curl, .F.)

    oxml.Send()
    lctext=Strconv(oxml.responsebody, 11)  && STRCONV(STRCONV(oXml.ResponseBody, 11),2)
    c1 = '北京现在时间:'
    c2 = "。查世界各大城市时差"

    rqsj=Alltrim(Strextract(lctext, c1, c2)) && 取两个分隔符中间的字符串
    trqsj = Ctot(rqsj)
    drq = Ttod(trqsj)

    If Date()<>drq
        Messagebox("你的日期不对,请修正。否则凭证号会出现误差",64+0,"提示")
    Endif
ELSE
     *Messagebox("网络不通",64+0,"提示") && 对于没有网络的用户,不要出错。
ENDIF
1