Sample code for 30+ languages & platforms
Delphi ActiveX

Query NTP Server for Current Date/Time

Demonstrates how to query an NTP server to get the current date/time.

Note: This feature was added in Chilkat v9.5.0.96.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
json: TChilkatJsonObject;
dt: TCkDateTime;
bLocalTime: Integer;

begin
success := 0;

// Specify the NTP server domain.
// Information is passed in a JSON object to allow for any unanticipated future optional information that might need to be provided.
json := TChilkatJsonObject.Create(Self);
json.UpdateString('ntp_server','pool.ntp.org');

// Query the NTP server for the current date/time.
dt := TCkDateTime.Create(Self);
success := dt.SetFromNtpServer(json.Emit());
if (success = 0) then
  begin
    Memo1.Lines.Add(dt.LastErrorText);
    Exit;
  end;

// Show the date/time in various formats..
bLocalTime := 1;
Memo1.Lines.Add(dt.GetAsTimestamp(bLocalTime));
Memo1.Lines.Add(dt.GetAsRfc822(bLocalTime));
Memo1.Lines.Add(IntToStr(dt.GetAsUnixTime(bLocalTime)));

// Sample output:

// 2023-10-31T09:43:27-05:00
// Tue, 31 Oct 2023 09:43:27 -0500
// 1698745407
end;