Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Sonstiges (https://www.delphipraxis.net/45-library-sonstiges/)
-   -   Delphi lokale Zeit und UTC (https://www.delphipraxis.net/66519-lokale-zeit-und-utc.html)

shmia 30. Mär 2006 18:23


lokale Zeit und UTC
 
folgende Funktionen liefern
  • die Zeit nach UTC
  • den Abstand von UTC zur lokalen Zeit (mit Beachtung der Sommerzeit)
Delphi-Quellcode:
unit TimeUtils;
interface

function NowUTC: TDateTime;
function DateUTC: TDateTime;
function TimeUTC: TDateTime;

function GetTimeZoneBias:TDateTime;

implementation

uses Windows, SysUtils;

// liefert die aktuelle Systemzeit in Coordinated Universal Time (UTC)
function NowUTC: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetSystemTime(SystemTime);
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;

function DateUTC: TDateTime;
begin
   Result := Int(NowUTC);
end;

function TimeUTC: TDateTime;
begin
   Result := Frac(NowUTC);
end;


// liefert den Abstand der lokalen Zeit zu UTC
// UTC = lokaleZeit + GetTimeZoneBias
function GetTimeZoneBias:TDateTime;
const
   MINUTES_PER_DAY = 24.0 * 60.0;
var
  tzi : TTimeZoneInformation;
begin
   case GetTimeZoneInformation(tzi) of
      TIME_ZONE_ID_STANDARD:
         result := (tzi.Bias) / MINUTES_PER_DAY;

      TIME_ZONE_ID_DAYLIGHT: // Sommerzeit
         Result := (tzi.Bias+tzi.DaylightBias) / MINUTES_PER_DAY;
   else
      Result := 0.0;
   end;
end;

end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz