精确的北京时间 是如何获取的

chouglingy 2007-11-05 09:08:40
www.bjtime.cn 和 http://www.timedate.cn/worldclock/ti.asp
精确的时间是怎么得到的?
我知道官网:www.time.ac.cn/timeflash.asp?user=flash
可以得到精确到秒的XML格式的时间,但是我不知道如何用到自己的网站上去,像bjtime和timedata一样,请大家赐教.谢谢!
...全文
4105 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
chouglingy 2007-11-12
  • 打赏
  • 举报
回复
我的意思正是用同步也就像www.bjtime.cn 和 http://www.timedate.cn/worldclock/ti.asp
wanghui0380 2007-11-08
  • 打赏
  • 举报
回复
ajax
不过很难同步啊,如果你的网速快的像光速一样-------
windily 2007-11-08
  • 打赏
  • 举报
回复
System.Net.WebRequest wreq = System.Net.WebRequest.Create("http://www.time.ac.cn/timeflash.asp?user=flash");
System.Net.WebResponse wrep = wreq.GetResponse();
StreamReader sr = new StreamReader(wrep.GetResponseStream());
XmlTextReader xr = new XmlTextReader(sr);
hwman 2007-11-07
  • 打赏
  • 举报
回复
利用专门的时间协议:ntp协议,可以得到更精确的时间。
octverve 2007-11-07
  • 打赏
  • 举报
回复
让服务器的时间与时钟服务器同步,再用后台取得时间传给前台,每隔N秒校正一次{在线的报价都这样作的~~}
hahu 2007-11-07
  • 打赏
  • 举报
回复
打开网页的时候,从你给的网页上读XML,并解析出时间,然后,自己计时,每秒跳一次
1分钟或10分钟后再去读XML解析时间
zhangj1012003_2007 2007-11-07
  • 打赏
  • 举报
回复
kan
洋溢2016 2007-11-07
  • 打赏
  • 举报
回复
o
CloneCenter 2007-11-07
  • 打赏
  • 举报
回复
也许是我没有理解楼主的意思。

楼主,你可能有点钻牛角尖的倾向了。为了获取一个准确的时间,你花费的代价太大了,知道不?你又不是发射“嫦娥二号”要那么精确的北京时间干什么?
在数据库里记录操作时间的话,直接获取服务器端时间就可以了。Windows XP以上的版本操作系统,都是可以和Internet上面的时间服务器同步时间的。

估计楼主是想在客户端实时显示服务器上的时间吧?
如果是这样的话,你想实现的可能性就不大了。因为浏览器发出请求之后,你的服务器才有响应,但是浏览器何时发出了请求,这个是不知道的。也就是你说的求出时间差,就没有多少实现的可能性了。可以考虑降低标准,允许有1到2秒的延时。
ljf840303 2007-11-07
  • 打赏
  • 举报
回复
请搜索NTP相关的内容.
有很多标准授时服务器的.
例如
time.window.com
time.nist.gov等.
就是使用UDP向授时服务器发送数据.服务器即返回标准时间.
好像叫UDP13的协议吧.忘记了.太久不看了.
feng1021 2007-11-07
  • 打赏
  • 举报
回复
学习一下
grearo 2007-11-07
  • 打赏
  • 举报
回复
C#.net中的
DateTime   dt=DateTime.Now

asp中的
now
honey52570 2007-11-06
  • 打赏
  • 举报
回复
网页上的一般都是取客户端显示的
chouglingy 2007-11-06
  • 打赏
  • 举报
回复
所以我想取服务器的时间
bwangel 2007-11-06
  • 打赏
  • 举报
回复
如果要在数据库中记录操作时间,
取客户端时间是毫无意义的,而且更麻烦.因为它是随时可以被用户修改的.而且windows右下角就有时间显示,实用价值也不太.
chouglingy 2007-11-06
  • 打赏
  • 举报
回复
谢谢大家帮一下啦
chouglingy 2007-11-06
  • 打赏
  • 举报
回复
首先谢谢大家关注,再次希望你们根据下面思路(假设,以:
http://www.time.ac.cn/timeflash.asp?user=flash
这个链接为服务器的基准时间.
),给我一段代码,谢谢!
在网络..不可能传递精确的时间的...因为网络延迟的原因..
因为网延不是一个恒定值...不象光速是一个恒定值..
假设你有一个你需要的时间源,你希望将这个时间源在全球发布..我的做法是..
利用需要获得时间源的本地计算机的时钟辅助处理,因为这个计算机的时钟相对网延还是相当精确的..
要作的步骤如下..
1 向Server发送时间请求,将发送的本地时间记录为T1
2 Server 返回Server 时间 T2,同时记录本地时间为T3
3 计算时间..
具体作法是 T3-T1=T4 ,T4就是是网延,假设发送网延和接收网延是相同的..
那么就推导出..
当客户端的时间为T1时 Server的时间为 T2-(T4/2)
这样就可以计算出客户端和Server的时差了...
当获取Server的时间时利用本地时钟经过计算就可以得出相对精确的时间了..
当然以上步骤可以每隔一段时间进行一次...
为了更精确,还可以在一次的重复执行步骤1,2,3获得平均值..来得到更精确的时间差..
chouglingy 2007-11-06
  • 打赏
  • 举报
回复
是的,我要的是精确的北京时间,关于时间的XML文件,就是这个链接:
www.time.ac.cn/timeflash.asp?user=flash
soft06 2007-11-06
  • 打赏
  • 举报
回复
用客户端时间
anncesky 2007-11-06
  • 打赏
  • 举报
回复
我也占成用客户端时间

不过LZ,既然得到了包含时间的XML,为什么还不能显示时间??
加载更多回复(6)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧