AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TIdSNTP liefert immer (noch) Sommerzeit
Thema durchsuchen
Ansicht
Themen-Optionen

TIdSNTP liefert immer (noch) Sommerzeit

Ein Thema von omnibrain · begonnen am 30. Okt 2023 · letzter Beitrag vom 30. Okt 2023
Antwort Antwort
Seite 2 von 2     12   
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#11

AW: TIdSNTP liefert immer (noch) Sommerzeit

  Alt 30. Okt 2023, 13:43
Ich benutze die Komponente "TIdSNTP", teil von Indy.

Letzte Woche habe ich die "korrekte" Zeit, also wenn um 11:10 abgefragt habe kam 11:10 als Antwort.
Heute kommt bei der Abfrage um 11:10 stattdessen 12:10 als Antwort.

Die Komponente konvertiert das selbst. Viel zu konfigurieren habe ich da auch nicht gefunden.
Falls es dich beruhigt: ab morgen funktioniert alles wieder!

Ich war mal neugierig. Das ist ein Fehler in Indy, und zwar in der Funktion TIdSNTP.NTPToDateTime in der Unit IdSNTP. Die ist dafür verantwortlich, die Bytes, die vom NTP-Server kommen, wieder in ein Delphi-Datum umzuwandeln.

Am Ende dieser Funktion steht folgendes:
Delphi-Quellcode:
  Value2 := Trunc(Value2 / NTPMaxInt * 1000) / 1000;
  Result := UTCTimeToLocalTime((Value1 + Value2) / 86400) + 2;
Zu Deutsch: das Datum, das sich aus der Umrechnung von Value1 und Value2 ergibt, liegt zwei Tage vor dem Delphi-Datum. Die Basis scheint also der 1.1.1900 zu sein und nicht wie beim Delphi-Format der 30.12.1899. Also muss man am Ende noch zwei Tage addieren, um auf das korrekte Delphi-Datum zu kommen, siehe die "+ 2" am Ende. Diese Addition wird aber erst NACH der Zeitzonen-Umrechnung gemacht. Das heißt, die Zeitzonen-Umrechnung erfolgt heute mit dem 28.10.2023 und nicht dem 30.10.2023. Daher geht die Umrechnung noch von Sommerzeit aus und addiert zwei Stunden und nicht eine.

Vielleicht kennt sich ja jemand mit Indy aus und kann das an der passenden Stelle als Bug einreichen.
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#12

AW: TIdSNTP liefert immer (noch) Sommerzeit

  Alt 30. Okt 2023, 13:51
Nachtrag: Hier ist das schon gefixt: https://github.com/IndySockets/Indy/...ols/IdSNTP.pas

Ich bin mal optimistisch, dass das zumindest im nächsten Delphi auch gefixt ist. In D11.2 muss man das wohl selber korrigieren.
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.294 Beiträge
 
Delphi 12 Athens
 
#13

AW: TIdSNTP liefert immer (noch) Sommerzeit

  Alt 30. Okt 2023, 13:55
Ich nutze Delphi 11.2 (Patch 1) unter Windows 11 (22H2):

In unsere Software habe ich vor wenigen Wochen einen Check eingebaut um gegen einen Zeitserver unabhängig vom Rest des Systems gegen einen Zeitserver checken zu können, da unsere Kunden in der Vergangenheit Probleme mit der netzwerkinternen Zeitsynchronisation hatten.
Seit Sonntag haben wir "plötzlich" ein Stunde Abweichung.
Bei mir das Gleiche. Verwende auch die Komponente. Hatte schon mal den Fehler, der verschwindet nach 1-2 Tagen wieder.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
omnibrain

Registriert seit: 11. Nov 2022
72 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: TIdSNTP liefert immer (noch) Sommerzeit

  Alt 30. Okt 2023, 13:57
Ja, habe es durch Hinweis in der englischen DP auch gefunden. https://github.com/IndySockets/Indy/issues/386
Ich wusste nicht, dass Indy auf GitHub ist und habe es beim Googlen auch nicht gefunden.
Dann hoffe ich mal, dass der Fix im Delphi 12 dabei ist.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.445 Beiträge
 
Delphi 12 Athens
 
#15

AW: TIdSNTP liefert immer (noch) Sommerzeit

  Alt 30. Okt 2023, 14:08
Delphi 12 kommt mit einer Indy-Version aus September 2023, also schon ziemlich aktuell.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:22 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