am 30. 3. ist wieder die Umstellung auf Sommerzeit - für mich immer ein Problem.
Auf einem zentralen Datenbankserver gibt es Server-Programme, die rund um die Uhr laufen und von verschiedenen PCs greifen die Clients auf diese Daten zu.
Die DateTime-Felder haben im Moment die lokale Zeit. Das ist auch in Ordnung, solange nicht auf Sommerzeit hin und hergeschalten wird, denn dann fehlt eine Stunde oder es ist eine zuviel.
Ein weiteres Problem ist der Zugriff auf die Datenbank, wenn z.B. aus der Ferne z.B. England oder Russland darauf zugeriffen werden soll, denn diese haben ja eine andere lokale Zeit.
Darum meine Idee, dass die Serverprogramme grundsätzlich nur die UTC-Zeit in die Datenbank schreiben und die Clients beim Anzeigen von DateTime diese in die lokale Zeit vorher wandeln.
Also anstatt von:
Code: Alles auswählen
Edit1.Text:=DateTimeToStr(Query1.FieldByName('MeinZeitFeld').AsDateTime);
Code: Alles auswählen
Edit1.Text:=DateTimeToStr(UTC2local(Query1.FieldByName('MeinZeitFeld').AsDateTime));
Wenn man ein Formular mit über 50 Felder hat, dann ist es müßig ohne die Data-Controls zu arbeiten.
Viele Grüße
Willi4Willi