Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi DateTime in UTC convertieren (https://www.delphipraxis.net/66508-datetime-utc-convertieren.html)

Kostas 30. Mär 2006 15:55


DateTime in UTC convertieren
 
Hallo Zusammen,

Ich verwende Delphi 5.

Wie kann ich bitte ein beliebiges DateTime convertieren in UTC?
Zum Beispiel:

Delphi-Quellcode:
var DateTime1, DateTime2 : TDateTime;
begin
  DateTime1 := StrToDateTime('10.12.2005 12:00:00'); {Winterzeit}
  DateTime2 := StrToDateTime(30.05.2005 12:00:00'); {Sommerzeit}

  DateTime1 := DateTimeToUTC(DateTime1); {DateTime1 sollte nun sein: 10.12.2005 10:00:00}
  DateTime2 := DateTimeToUTC(DateTime2); {DateTime2 sollte nun sein: 30.05.2005 11:00:00}

Gruß Kostas

himitsu 30. Mär 2006 18:34

Re: DateTime in UTC convertieren
 
Irgendwo in der OH sollte drinstehen, wo man die Infos über die aktuelle ZeitZone drinsteht, oder hier im Forum och, ansonsten würde ich mal sowas wie FileTimToLocalTime versuchen (DateTime<>FileTime gibts auch ... siehe OH)

Kostas 31. Mär 2006 15:48

Re: DateTime in UTC convertieren
 
Hallo Zusammen,

hab nach langem suchen eine Möglichkeit gefunden.

Zuerst die Unit GpTimezone aus dem link downloaden und anlegen.
http://17slon.com/gp/gp/files/gptimezone.htm

Die angelegte Unit hat ESBDates geused.
Zum download untern:
http://www.softandco.com/a/1870/esbdates.html

Mit den zwei Hilfsfunktionen ist das Thema gegessen.

Delphi-Quellcode:
{--------------------------------------------}
{}function UTCToTime(UTC:TDateTime):TDateTime;
{rechnet aus der immer gleichen UTC-Zeit Sommer-/Winnterzeit ab}
{--------------------------------------------}
var
  tz_info : TIME_ZONE_INFORMATION;
  minuten:integer;
begin
  GetTimeZoneInformation(tz_info);
  result := UTCToTZLocalTime(tz_info, UTC);

end;{UTCToTime}
Delphi-Quellcode:
{--------------------------------------------}
{}function TimeToUTC(ToUTC:TDateTime):TDateTime;
{rechnet aus der immer gleichen UTC-Zeit Sommer-/Winnterzeit dazu}
{--------------------------------------------}
var
  tz_info : TIME_ZONE_INFORMATION;
begin
  GetTimeZoneInformation(tz_info);
  result := TZLocalTimeToUTC(tz_info, ToUTC, false);


end;{TimeToUTC}
Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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