请问, 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时间?的主要内容,如果未能解决你的问题,请参考以下文章

请问delphi中有没有啥办法获取DBNavigator的导航条已经指到了第一条或最后一条记录?

请问delphi 7 如何读取JPG图片的像素颜色值?

Delphi如何获取一个隐藏进程的程序的进程ID

delphi 请问:如何点了窗口右上解的关闭,程序不是关闭而且隐藏?

请问这种可以展开闭合的delphi控件叫啥?

delphi 请问如何将bpl文件编译到exe文件中!!(紧急求救!!)