![]() |
TIdSNTP liefert immer (noch) Sommerzeit
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. Ich habe es auf den einfachst möglichen Test "eingedampft", einfach eine Form mit TIdSNTP-Komponente und einem Edit um den Server einzugeben. Und selbst so bekomme ich immer noch eine Zeit, die genau eine Stunde in der Zukunft liegt. Habe ich etwas übersehen? Da wir jetzt "Normalzeit" haben hätte ich eher erwartet, dass es in den Vergangenen Wochen (während Entwicklung und Test) Probleme gegeben hätte.
Code:
IdSNTP1.Host:=LabeledEdit1.Text;
memo1.Lines.Add('Server: '+LabeledEdit1.Text+'Internetzeit: '+DateTimeToStr(IdSNTP1.DateTime)); |
AW: TIdSNTP liefert immer (noch) Sommerzeit
Liefert der Zeitserver Greenwich Mean Time also GMT bzw. UTC?
Wir liegen eine Stunde davor, also GMT - 1. Im Sommer GMT - 2. Sollte deine Software mal in Sydney zum Einsatz kommen, musst du momentan eine Differenz von 11 Stunden berücksichtigen (Sommerzeit), bei Normalzeit ist die Differenz 10 Stunden. Die Angabe des Zeitservers dürfte also stimmen. Die Differenz zur örtlichen Zeitzone musst Du selbst berücksichtigen. |
AW: TIdSNTP liefert immer (noch) Sommerzeit
Wie ich schon schrieb: Dann hätte ich letzte Woche 2 Stunden Abweichung haben müssen, stattdessen hat es bis dahin funktioniert.
Zur Verdeutlichung:
Code:
Output:
IdSNTP1.Host:=LabeledEdit1.Text;
memo1.Lines.Add('Server: '+LabeledEdit1.Text+' Internetzeit: '+DateTimeToStr(IdSNTP1.DateTime)+' Systemzeit: '+datetimetostr(now)); Zitat:
|
AW: TIdSNTP liefert immer (noch) Sommerzeit
Was sagt Dir denn
![]() Wenn Du dort über der 6 auf das Dreieck und das t klickst, wird dir die Abweichung der Rechneruhrzeit von der korrekten Uhrzeit angezeigt. |
AW: TIdSNTP liefert immer (noch) Sommerzeit
MEZ (UTC+01:00)
Die lokale Uhr geht 44 ms nach ± 10 ms Windows sagt Zeitzone (UTC+01:00) Amsterdam, Berlin, Bern Rom, Stockholm, Wien |
AW: TIdSNTP liefert immer (noch) Sommerzeit
NTP Server liefern normalerweise UTC Zeit- Für die Umrechnung in die lokAle Zeit ist das Betriebssystem bzw das entsprechende Programm zuständig. Für unsere mitteleuropäische Zeitzone gilt also:
|
AW: TIdSNTP liefert immer (noch) Sommerzeit
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. |
AW: TIdSNTP liefert immer (noch) Sommerzeit
"Die Komponente konvertiert das selbst", steht das in der Hilfe zu Indy? Dann wäre das ein bug von Indy.
Versuch mal folgendes, das sollte die korrekte Zeitangabe liefern:
Delphi-Quellcode:
uses
DateUtils; var GMT: TDateTime; ... GMT := TTimeZone.Local.ToUniversalTime(IdSNTP1.DateTime); memo1.Lines.Add('Internetzeit GMT: '+DateTimeToStr(GMT)); |
AW: TIdSNTP liefert immer (noch) Sommerzeit
Zitat:
Wenn du mir einen Link zur Hilfe von Indy hast wäre das nett. ![]() |
AW: TIdSNTP liefert immer (noch) Sommerzeit
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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