200分,标准时间。

johnsonrao 2002-07-07 11:00:17
要求得到标准北京时间。
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnsonrao 2002-07-07
  • 打赏
  • 举报
回复
可以,不过你这程序是抄来的吧,有点小错误,不过没关系,
算了算,和117查询相差(快)4秒,行了,结贴!
bcb_fans 2002-07-07
  • 打赏
  • 举报
回复
哦,原来这样,那直接连接上时间服务器的13号端口,时间服务器就直接返回当时的标准时间了,具体参考RFC867.txt协议。

注意:这个协议不对时间格式进行统一规定,所以不同的时间服务器返回的时间格式可能不同,你自己必须进行分析。

johnsonrao 2002-07-07
  • 打赏
  • 举报
回复
floattofool(foolish) ,收到,先试一试,管用就结贴。
floattofool 2002-07-07
  • 打赏
  • 举报
回复
我正好有收录

procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Host :='tick.usno.navy.mil'; // 美国海军天文台;
ClientSocket1.Port :=13;
ClientSocket1.Open;
end;

// Clock.sgi.com SGI
// Tick.mit.edu 麻省理工学院
// Time.nist.gov NIST

procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var TempTime: TDateTime;
hh,mm,ss,ms: word;
sTime : string;
begin
sTime := Socket.ReceiveText; // 取得格林尼治时间;
sTime:=Copy(sTime,12,8); // 取得时间部分;
DecodeTime(StrToTime(sTime),hh,mm,ss,ms);
hh:=(hh+8) mod 24; // 转化成北京时间;
TempTime:=EncodeTime(hh,mm,ss,ms);
Edit1.Text :=TimeToStr(TempTime);
end;
netlib 2002-07-07
  • 打赏
  • 举报
回复
不明白呀。
hjd_cw 2002-07-07
  • 打赏
  • 举报
回复
远程授时的概念嘛!网上好像蛮多!
johnsonrao 2002-07-07
  • 打赏
  • 举报
回复
不是了,打117得到的时间,要绝对标准。电脑的手工自己改都行,
我想通过Internet可以得到,但没有找到相关资料。
bcb_fans 2002-07-07
  • 打赏
  • 举报
回复
怎么意思? 你的电脑的时间难道不是北京时间?

5,387

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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