Delphi获取网络时间

控件:idSNTP

属性:Host:cn.ntp.org.cn

方法:
NetTime: TDateTime;
NetTime := idSNTP1.DateTime;

下面有我自己做的函数,可以按照这个来操作。

function GetNetTime(): TDateTime;
var
  Sntp: TIdSNTP;
begin
  Result := Now;
  try
    try
      begin
        Sntp := TIdSNTP.Create(nil);
        Sntp.Host := 'ntp1.aliyun.com';
        Sntp.Active := True;
      end;
    except
      begin
        Sntp := TIdSNTP.Create(nil);
        Sntp.Host := 'pool.ntp.org';
        Sntp.Active := True;
      end;
    end;
    Sleep(10);
    Result := Sntp.DateTime;
  finally
    Sntp.Free;
  end;

end;

发表回复

登录... 后才能评论

评论(1)

  • 指尖风暴 2022-12-09 10:09

    这个获取方式有个问题,就是有时候连接获取失败,可以建立一个web服务器,提供PHP的时间,然后去读取时间。这种方式也不错。