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/)
-   -   GetImageLinkTimeStamp liegt um eine Stunde daneben (https://www.delphipraxis.net/173967-getimagelinktimestamp-liegt-um-eine-stunde-daneben.html)

uligerhardt 26. Mär 2013 12:40

GetImageLinkTimeStamp liegt um eine Stunde daneben
 
Wenn ich
Delphi-Quellcode:
GetImageLinkTimeStamp
aus der CodeLib so
Delphi-Quellcode:
  Caption:= DateTimeToStr(UnixToDateTime(GetImageLinkTimeStamp(Application.ExeName)));
einbinde, bekomme ich momentan eine Stunde weniger angezeigt als hier. Was ist denn nun die richtige UTC-Zeit?

Oder liegt's an meiner Umrechnung in die lokale Zeit? Momentan rechne ich mir
Delphi-Quellcode:
dt := UnixToDateTime(TimeStamp) - GetTimeZoneBias
aus mit
Delphi-Quellcode:
function GetTimeZoneBias: TDateTime;
var
  tzi: TTimeZoneInformation;
begin
  case GetTimeZoneInformation(tzi) of
    TIME_ZONE_ID_STANDARD:
      Result := (tzi.Bias) / MinsPerDay;
    TIME_ZONE_ID_DAYLIGHT: // Sommerzeit
      Result := (tzi.Bias + tzi.DaylightBias) / MinsPerDay;
    else
      Result := 0.0;
  end;
end;
Und
Delphi-Quellcode:
dt
liegt momentan eben genau um eine Stunde daneben.

Bummi 26. Mär 2013 13:52

AW: GetImageLinkTimeStamp liegt um eine Stunde daneben
 
ich weiß nicht ob 2007 das schon kennt

Delphi-Quellcode:
uses DateUtils;
  UniversalDateTime := TTimeZone.Local.ToUniversalTime(LocalDateTime);
  LocalDateTime := TTimeZone.Local.ToLocalTime(UniversalDateTime);
ansonsten hatte ich hier einmal eine Unit abgelegt.

uligerhardt 26. Mär 2013 16:48

AW: GetImageLinkTimeStamp liegt um eine Stunde daneben
 
Zitat:

Zitat von Bummi (Beitrag 1208963)
ich weiß nicht ob 2007 das schon kennt

Delphi-Quellcode:
uses DateUtils;
  UniversalDateTime := TTimeZone.Local.ToUniversalTime(LocalDateTime);
  LocalDateTime := TTimeZone.Local.ToLocalTime(UniversalDateTime);

Gibt's in D2007 noch nicht.

Zitat:

Zitat von Bummi (Beitrag 1208963)
ansonsten hatte ich hier einmal eine Unit abgelegt.

Danke, schau ich mir morgen mal an.

Edit: Hab mal ein bisschen mit deinem Programm rumprobiert. Wenn ich alles richig verstanden habe, liefert es mir die gleiche UTC wie http://www.bipm.org/en/scientific/tai/time_server.html - soweit, so gut. Aber was liefert mir dann GetImageLinkTimeStamp?

Könnt ihr mal ausprobieren, was ihr rauskriegt?

uligerhardt 2. Apr 2013 07:51

AW: GetImageLinkTimeStamp liegt um eine Stunde daneben
 
Der Vollständigkeit halber: Heute (also vermutlich seit der Sommerzeitumstellung :mrgreen:) stimmen die UTC von GetImageLinkTimeStamp und die vom BIPM (also vermutlich die offizielle) überein.


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