Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Zeit aus dem Netzwerk/Internet abfragen TIdSNTP (https://www.delphipraxis.net/188506-zeit-aus-dem-netzwerk-internet-abfragen-tidsntp.html)

TUX_der_Pinguin 10. Mär 2016 15:20

Zeit aus dem Netzwerk/Internet abfragen TIdSNTP
 
Hallo,

ich versuche mich an dem Thema Zeit von einem Zeitserver abzufragen und benutze dazu die Komponente TIdSNTP in der Entwicklungsumgebung Delphi 2009.

Delphi-Quellcode:
IdSNTP.Host := 'ptbtime1.ptb.de';

ShowMessage(DateTimeToStr(IdSNTP.DateTime));
Es scheint auch irgendwie zu funktionieren, aber es wird nicht '10.03.2016 16:19:00" sondern '16.11.1947 10:55:00' angezeigt.

Stehe gerade voll auf dem Schlauch wo das Problem liegt, ich hoffe jemand von euch kann helfen ;-)

Klaus01 10. Mär 2016 15:32

AW: Zeit aus dem Netzwerk/Internet abfragen TIdSNTP
 
.. kann es sein, dass der TimeServer einen UnixTimeStamp liefert?

ups habe die dateTime Methode des idsntp übersehen.

Grüße
Klaus

nahpets 10. Mär 2016 15:58

AW: Zeit aus dem Netzwerk/Internet abfragen TIdSNTP
 
Delphi 7 liefert mir hiermit die korrekte Uhrzeit:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  idsntp1.host := 'ptbtime1.ptb.de';
  showMessage(DateTimeToStr(idsntp1.DateTime) + #13
+ ShortDateFormat + #13
+ LongTimeFormat);
end;
Der Quelltext zu DateTimeToStr enthält folgenden Kommentar:
Delphi-Quellcode:
{ DateTimeToStr converts the given date and time to a string. The resulting
  string consists of a date and time formatted using the ShortDateFormat and
  LongTimeFormat global variables. Time information is included in the
  resulting string only if the fractional part of the given date and time
  value is non-zero. }

function DateTimeToStr(const DateTime: TDateTime): string; overload;
function DateTimeToStr(const DateTime: TDateTime;
  const FormatSettings: TFormatSettings): string; overload;
Versuch es bitte mal mit der zweiten Variante und/oder überprüfe ShortDateFormat und LongTimeFormat, ob da eventuell was drinne steht, was einer korrekten Konvertierung im Wege stehen könnte.

himitsu 10. Mär 2016 16:00

AW: Zeit aus dem Netzwerk/Internet abfragen TIdSNTP
 
Vielleicht auch ein (unerkannter) Fehlercode? (der arme Server in Braunschweig ausgelastet)

Versuch doch mal probehalber einen anderen Zeitserver?
ntp0.freenet.de

TUX_der_Pinguin 11. Mär 2016 07:28

AW: Zeit aus dem Netzwerk/Internet abfragen TIdSNTP
 
Ok, ich glaube ich habe den Fehler gefunden in der Indy Version 10.2.5 die bei Delphi 2009 bei liegt ist wohl ein Bug.

http://qc.embarcadero.com/wc/qcmain.aspx?d=67109

Weil ich meine wie viele Fehler kann man in einem 2-Zeiler schon machen ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 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