Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Google Chrome Time nach TDateTime (https://www.delphipraxis.net/170400-google-chrome-time-nach-tdatetime.html)

Shark99 16. Sep 2012 09:46

AW: Google Chrome Time nach TDateTime
 
Zitat:

Zitat von Bummi (Beitrag 1183124)
Folgendes bedürfte IMHO noch der Zeitzonen und Sommerzeitbehandlung, ansonsten meine ich passt es
Delphi-Quellcode:
Function MyDateTime(d:Double):TdateTime;
begin
  Result := (d/1000000 + EncodeDate(1601,1,1) * (24*60*60))/(24*60*60) ;
end;

Wie wende ich deinen Code auf das Beispieldatum 12990353101092500 an?

Zitat:

Zitat von Sir Rufo (Beitrag 1183125)
Irgendwie riecht das so, als ob man mit Delphi-Referenz durchsuchenFileDateToDateTime da weiter kommt :)

FileDateToDateTime erwartet einen Integer, das Beispieldatum 12990353101092500 ist jedoch ULONG btw Int64.

Luckie 16. Sep 2012 10:11

AW: Google Chrome Time nach TDateTime
 
Das (24*60*60))/(24*60*60) ist doch eins oder nicht?

Shark99 16. Sep 2012 10:15

AW: Google Chrome Time nach TDateTime
 
Zitat:

Zitat von luckie (Beitrag 1183137)
das (24*60*60))/(24*60*60) ist doch eins oder nicht?

1.0! :)

Luckie 16. Sep 2012 10:16

AW: Google Chrome Time nach TDateTime
 
OK, ändert aber nichts an der Rechnung.

Bummi 16. Sep 2012 10:19

AW: Google Chrome Time nach TDateTime
 
Delphi-Quellcode:
function GMTBias : Integer;
var TZI : TTimeZoneInformation;
begin
 if GetTimeZoneInformation(TZI) = TIME_ZONE_ID_DAYLIGHT then Result := TZI.DaylightBias
 else Result := 0; Result := Result + TZI.Bias;
end;
function LocalTimeToGMTTime(const D: TDateTime): TDateTime;
begin
Result := D + GMTBias / (24.0 * 60.0);
end;


function GMTToLocalTime(GMTTime: TDateTime): TDateTime;
var
  GMTST: Windows.TSystemTime;
  LocalST: Windows.TSystemTime;
begin
   SysUtils.DateTimeToSystemTime(GMTTime, GMTST);
   SysUtils.Win32Check(Windows.SystemTimeToTzSpecificLocalTime(nil, GMTST, LocalST));
   Result := SysUtils.SystemTimeToDateTime(LocalST);
end;

Function MyDateTime(d:Double):TdateTime;
begin
  Result := (d/1000000 + EncodeDate(1601,1,1) * (24*60*60))/(24*60*60) ;
  Result := GMTToLocalTime(Result)
end;

procedure TButton.SetText(var msg: TMessage);
begin
end;


procedure TForm2.Button2Click(Sender: TObject);
begin
   Caption :=DateTimeToStr(MyDateTime(12990353101092500));// 25.08.2012 09:25:01
end;
@Lucky
ist 1 wenn man die Klammer ignoriert

Luckie 16. Sep 2012 10:56

AW: Google Chrome Time nach TDateTime
 
Oh, habe eine Klammer übersehen.

Shark99 16. Sep 2012 14:14

AW: Google Chrome Time nach TDateTime
 
Danke Bummi!

Bummi 16. Sep 2012 17:07

AW: Google Chrome Time nach TDateTime
 
Bitte ...
den entscheidenden Hinweis hast Du mit wt32m.exe selbst geliefert.

http://technet.microsoft.com/en-us/l...(v=ws.10).aspx


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 Uhr.
Seite 2 von 2     12   

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