AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Differenz zur echten Uhrzeit in Sekunden ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Differenz zur echten Uhrzeit in Sekunden ermitteln

Ein Thema von philipp.hofmann · begonnen am 15. Jan 2021 · letzter Beitrag vom 21. Jan 2021
 
philipp.hofmann
Online

Registriert seit: 21. Mär 2012
Ort: Hannover
868 Beiträge
 
Delphi 10.4 Sydney
 
#1

Differenz zur echten Uhrzeit in Sekunden ermitteln

  Alt 15. Jan 2021, 22:39
Hi,

ich versuche mit TIdTime die Differenz zur wirklichen, aktuellen Uhrzeit ermitteln.
Dafür will ich TIdTime nutzen:

Ich ziehe mir die aktuelle Uhrzeit auf dem Rechner und die aktuelle Uhrzeit von TIdTime.
Jetzt habe ich auf einem iOS und einem Android-Device rund 2 Stunden-Unterschied, d.h. läuft noch irgendwas mit den Zeitzonen falsch.
Auf einem Rechner, der bei manueller Prüfung auf die Sekunde die gleiche Uhrzeit wie ein anderer hat, bekomme ich 30 Sekunden Unterschied raus.

Was mache ich hier falsch? Muss man andere TIdTime-Methoden nutzen? Ich würde ungerne die Systemzeit selbst durch diesen Check anpassen.

Delphi-Quellcode:
procedure TicTrainerF.syncTime();
var idTime:TIdTime;
    dtLocal,dtServer:TDateTime;
    msDiff:Int64;
begin
  idTime:=TIdTime.create(nil);
  try
    idTime.Host:='time.nist.gov';
    dtServer:=idTime.dateTime;
    if (dtServer>0) then
    begin
      dtLocal:=NOW;
      msDiff:=MillisecondsBetween(dtServer,dtLocal);
      if (dtLocal>dtServer) then
        syncTimeDiff:=msDiff*-1
      else
        syncTimeDiff:=msDiff;
      mlog.info('syncTime '+FloatToStrF(syncTimeDiff/1000,ffFixed,8,3,myFormatSettings)+'s');
    end else begin
      mlog.info('syncTime not possible²');
      syncTimeDiff:=0;
    end;
  finally
    hideHourGlass();
    idTime.free;
  end;
  except on E: Exception do
    begin
      mlog.info('syncTime not possible');
      syncTimeDiff:=0;
    end;
  end;
end;
Grüße, Philipp
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz