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
 
Bbommel

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

AW: TIdSNTP liefert immer (noch) Sommerzeit

  Alt 30. Okt 2023, 12: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
 


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 06:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz