请问, delphi 如何获取internet时间?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问, delphi 如何获取internet时间?相关的知识,希望对你有一定的参考价值。

请问, delphi 如何获取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); // 取得时间部分;
参考技术A 使用NTP 服务器 参考技术B Delphi(Pascal) code

function TMain_F.CheckRegTime(RegTimeS:string) : Boolean;
var
Idhtp : TIdHTTP;
Htm : string;
TimeInt : Int64;
NetTime,RegTime : TDateTime;
Settings: TFormatSettings;
begin
Idhtp := TIdHTTP.Create(nil);
try
Htm := Idhtp.Get(' https://gss0.baidu.com/8aQDcnSm2Q5IlBGlnYG/app?module=beijingtime');
except
Htm := '';
end;
if Htm = '' then
begin
Result := False;
end else
begin
try
//网络时间
Htm := Copy(Htm, AnsiPos('time":',Htm)+Length('time":'), MaxInt);
Htm := Copy(Htm, 1, Pos('',Htm)-1);
TimeInt := StrToInt64(Htm);
TimeInt := TimeInt div 1000;
NetTime := UnixToDateTime(TimeInt);
NetTime := IncHour(NetTime,8);
NetTime := Int(NetTime);
//注册时间
GetLocaleFormatSettings(GetUserDefaultLCID, Settings);
Settings.DateSeparator := '-';
Settings.TimeSeparator := ':';
Settings.ShortDateFormat := 'yyyy-mm-dd';
Settings.ShortTimeFormat := 'hh:nn:ss';
RegTime := StrToDate(RegTimeS,Settings);
//对比
if NetTime > RegTime then
begin
Result := False;
end else
begin
Result := True;
end;
except
Result := False;
end;
end;
Idhtp.Free;
end;

请问如何在delphi中实现多选打印功能!

参考技术A 标签打印请问如安在delphi中实现多选打印功能!具体的情况是:DBgrid傍边有很多字段,有很多记录请求做到:第一步,记录的若干是动态的,但要能选择记录打印,数量不限。
第二步,字段有很多,再上一步的基本上实现字段可选,即打印
须要打的内容!
参考技术B 选择记录打印可用BookMark,DbGrid的Options里有MulitSelect属性,可以按住Ctrl,用鼠标选择记录,即可以选择多笔记录。

以上是关于请问, delphi 如何获取internet时间?的主要内容,如果未能解决你的问题,请参考以下文章