Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Referenz Zeitzone ohne Sommer/Winterzeit ?

  Alt 23. Mär 2005, 18:26
Es gibt die lokale Zeit (z.B.: GMT+1) und die Systemzeit (Coordinated Universal Time=UTC).
Die Funktion Now sieht so aus:
Delphi-Quellcode:
function Now: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetLocalTime(SystemTime); // <===
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
Würde man statt GetLocalTime die Funktion GetSystemTime aufrufen, würde man die Zeit in UTC
bekommen.
Delphi-Quellcode:
function NowUTC: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime); // <===
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
2 Rechner (einer in Deutschland, einer in China) müssen das gleiche Ergebnis von NowUTC ekommen, wenn die Funktion gleichzeitig aufgerufen wird. (Uhrzeitfehler & Relativitättheorie mal unberücksichtigt)
Der Unterschied zwischen lokaler Zeit und UTC bekommt man mit: GetTimeZoneInformation
Andreas
  Mit Zitat antworten Zitat