从Internet时间服务器获取标准格林尼治时间
从Internet时间服务器获取标准格林尼治时间
由于本机系统时间不准确,所以决定从Internet 时间服务器获取标准时间来校正 系统时间,说干就干。
程序设计步骤如下:
1、 新建一个工程;
2、 在窗体上放一个TEdit控件和一个TClientSocket(在Internet页下)控件。TEdit用来显示取得的格林尼治时间转化成北京时间后的时间,TClientSocket用来从Internet 时间服务器获取标准的格林尼治时间;
3、 程序代码如下:
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Host :=tick.usno.navy.mil; // 美国海军天文台;
ClientSocket1.Port :=13;
ClientSocket1.Open;
end;
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); // 取得时间部分;