Ich habe einige Lazarus-Programme auf dem Raspberry unter Jessie laufen. Die schreiben Ereignisse mit Zeitstempel in Logfiles.
Vor einigen Tagen war nun Zeitumstellung. Die Zeit der Raspi-Uhr wurde richtig umgestellt, wie ich mit "date" in der Konsole auch überprüfen konnte. Die Programme haben aber immer noch die "alte" Zeit geloggt, mit einer Stunde Unterschied.
Erst nach Anhalten und Neustart haben die Programme dann die richtige Zeit geloggt. Das sah dann so aus:
Ich frage die Zeit mit "Now" ab und formatiere sie mit FormatDateTime.26.03.17 18:41:50 - Beende HC Data
26.03.17 19:41:53 - Starte HC Data <= Neustart nach 3 Sekunden
Code: Alles auswählen
FormatDateTime('dd.mm.yy hh:nn:ss', Now)
Warum ist das so umständlich? Warum wird nicht einfach die Systemzeit abgefragt, wie sie auch "date" in der Konsole liefert?
Ist die Lösung mit "GetLocalTimezone" korrekt, oder gibt es noch eine bessere Lösung, bei dauernd laufenden Programmen richtig auf die Zeitumstellung zu reagieren?
Sollte sowas nicht in der Hilfe erwähnt werden? Das merkt man doch bestenfalls durch Zufall, und dann hat man vielleicht monatelang falsche Daten geloggt.
Im englischen Forum scheint das Thema nicht so interessant zu sein. Ist halt so, nimmt man hin.