TC官方合作论坛

 找回密码
 立即注册
楼主: 学习学习吧
打印 上一主题 下一主题

[问题] 获取网络时间不准确的问题

[复制链接]
11#
发表于 2015-6-1 10:01:13 | 只看该作者
学习学习吧 发表于 2015-6-1 09:56
你的代码跟我一样吗?我第一天也挺准的,可后两天就不行了,我也是用百度的北京时间比较的 ...

嗯,和你一样的代码,,我刚测了,蛮准的,
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2015-6-1 10:56:41 | 只看该作者
_简简单单_ 发表于 2015-6-1 10:01
嗯,和你一样的代码,,我刚测了,蛮准的,

兄弟,你能从百度搜索出的网页上获取网络时间吗?这样的话,好像可以最大限度减小误差啊。就比如你直接从网上的那个北京时间那里那数据,我们这个代码,我都不知道从哪里拿来的数据。。
回复 支持 反对

使用道具 举报

13#
发表于 2015-6-1 11:21:06 | 只看该作者
学习学习吧 发表于 2015-6-1 10:56
兄弟,你能从百度搜索出的网页上获取网络时间吗?这样的话,好像可以最大限度减小误差啊。就比如你直接从 ...

功能 获取百度时间()
    变量 时间
   
    变量 xmlHttp = com("Microsoft.XMLHTTP")
    xmlHttp.open("GET", "http://open.baidu.com/", "False", "百度账号", "百度密码")
    xmlHttp.send("getdatetime")
    变量 DateTime=xmlHttp.getResp**eHeader("Date")
    如果(字符串长度(DateTime)>0)
        变量 Year = strsub(DateTime,12,16)
        变量 Month = strsub(DateTime,8,11)
        变量 Day = strsub(DateTime,5,7)
        变量 Time = strsub(DateTime,17,25)
        变量 Week = strsub(DateTime,0,3)
        select(Month)
            case "Jan"
            Month = "01"
            case "Feb"
            Month = "02"
            case "Mar"
            Month = "03"
            case "Apr"
            Month = "04"
            case "May"
            Month = "05"
            case "Jun"
            Month = "06"
            case "Jul"
            Month = "07"
            case "Aug"
            Month = "08"
            case "Sep"
            Month = "09"
            case "Oct"
            Month = "10"
            case "Nov"
            Month = "11"
            case "Dec"
            Month = "12"
            变量 Mpnth = "false"
        结束
        DateTime=timeadd("h",8,Year&"/"&Month&"/"&Day&" "&Time)
        xmlHttp = null
        变量 ArrNetTime = strreplace(strreplace(strreplace(DateTime,"/","|")," ","|"),":","|")
        字符串分割(ArrNetTime,"|",ArrNetTime)
        Year = ArrNetTime[0]
        Month = ArrNetTime[1]
        Day = ArrNetTime[2]
        变量 Hour = ArrNetTime[3]
        变量 Minute = ArrNetTime[4]
        变量 Second = ArrNetTime[5]
        if(strlen(Year)==1)
            Year="0"&Year
        结束
        if(strlen(Month)==1)
            Month="0"&Month
        结束
        if(strlen(Day)==1)
            Day="0"&Day
        结束
        if(strlen(Hour)==1)
            Hour="0"&Hour
        结束
        if(strlen(Minute)==1)
            Minute="0"&Minute
        结束
        if(strlen(Second)==1)
            Second="0"&Second
        结束
        消息框(Year&":"&Month&":"&Day)//时间格式可以自己修改
    结束
结束
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2015-6-1 11:26:50 | 只看该作者
这论坛不错 发表于 2015-6-1 11:21
功能 获取百度时间()
    变量 时间
   

大哥,这个能减少误差吗?是不是比单纯的“获取网络时间”要精确很多啊?
回复 支持 反对

使用道具 举报

15#
发表于 2015-6-1 11:29:28 | 只看该作者
本帖最后由 这论坛不错 于 2015-6-1 11:31 编辑
学习学习吧 发表于 2015-6-1 11:26
大哥,这个能减少误差吗?是不是比单纯的“获取网络时间”要精确很多啊? ...

这个是获取百度的时间,固定就是百度网站的时间,你试试看吧,应该很精确,如果说有误差,可能获取的时候,要等待1,2秒才能返回,这个就没办法,百度服务器的压力小,返回很快,0.几秒,压力大,有时候要等很久的,比如晚上12点的时候,这个时候压力应该最大
回复 支持 反对

使用道具 举报

16#
 楼主| 发表于 2015-6-1 11:32:51 | 只看该作者
这论坛不错 发表于 2015-6-1 11:29
这个是获取百度的时间,固定就是百度网站的时间,你试试看吧,应该很精确 ...

实在是不好意思,我基础比较差,能不能帮我精简下,我不需要显示年月日的,我只需要显示时间,你上述代码我些部分还看不大懂 ArrNetTime后面那段的作用是?
回复 支持 反对

使用道具 举报

17#
发表于 2015-6-1 11:51:45 | 只看该作者
你看的是一个服务器的时间,这个函数获取的是另一个服务器的时间,你觉得能一样么?
回复 支持 反对

使用道具 举报

18#
 楼主| 发表于 2015-6-1 11:55:29 来自手机 | 只看该作者
忆辰辅助 发表于 2015-6-1 11:51
你看的是一个服务器的时间,这个函数获取的是另一个服务器的时间,你觉得能一样么? ...

那比如,我玩的是腾讯的游戏,我是不是应该去拿腾讯主页的网络时间?  能不能直接传递他的时间参数呢?而不用服务器返回给你的时间
回复 支持 反对

使用道具 举报

19#
发表于 2015-6-1 14:58:24 | 只看该作者
学习学习吧 发表于 2015-6-1 11:55
那比如,我玩的是腾讯的游戏,我是不是应该去拿腾讯主页的网络时间?  能不能直接传递他的时间参数呢?而 ...

游戏和网站也不一定是同一个服务器,不过你可以找到游戏服务器IP的话可以获取到准确时间
回复 支持 反对

使用道具 举报

20#
 楼主| 发表于 2015-6-1 15:15:56 来自手机 | 只看该作者
忆辰辅助 发表于 2015-6-1 14:58
游戏和网站也不一定是同一个服务器,不过你可以找到游戏服务器IP的话可以获取到准确时间 ...

如果能拿到ip的话,请问然后怎么做呢,请教下
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-12-28 20:13 , Processed in 0.089580 second(s), 20 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表