Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi Ungenauigkeiten bei DateTime-Umwandlungen (https://www.delphipraxis.net/201380-ungenauigkeiten-bei-datetime-umwandlungen.html)

Codehunter 17. Jul 2019 09:57

Ungenauigkeiten bei DateTime-Umwandlungen
 
Hallo!

Ich poste das mal im Cross-Plattform-Bord im Sinne von "Auf der einen Seite Delphi, auf der anderen Unix". Ich habe das Problem, dass ich bei der Konvertierung von TDateTime-Werten Ungenauigkeiten habe. Beispielsweise ich lokal einen Zeitwert "10.05.2019 00:00:00" als TDateTime vorliegen. Interessieren tut auch nur das Datum, nicht die Uhrzeit. Ich konvertiere das mit DateTimeToUnix() in einen Unix-Zeitstempel und sende ihn an einen REST-Service. Dort kommt das aber als "09.05.2019 23:59:59" an. So schaukeln sich (Milli)sekunden zu 24 Stunden hoch, weil nur das Datum von Bedeutung ist.

Irgendwie sträubt sich bei mir aber auch alles dagegen, einfach statisch ein paar Sekunden draufzuschlagen.

Wie könnte ich das Problem lösen?

Grüße
Cody

Der schöne Günther 17. Jul 2019 10:18

AW: Ungenauigkeiten bei DateTime-Umwandlungen
 
Was kommt denn bei dir konkret heraus als Unix-Zeitstempel? Ist es
Delphi-Quellcode:
1557439200
? Dann hast du alles richtig gemacht und der Fehler liegt nicht bei dir 😎

PS: UTC-Offset bedacht?


Delphi-Quellcode:
uses
   System.SysUtils,
   System.DateUtils;

const
   inputIsUTC = False;
var
   input: TDateTime;
   unixTimestamp: Int64;
begin
   input := EncodeDateTime(2019, 05, 10, 0, 0, 0, 0);
   unixTimestamp := DateTimeToUnix(input, inputIsUTC);

   WriteLn(unixTimestamp);
   ReadLn;
end.

Codehunter 17. Jul 2019 10:26

AW: Ungenauigkeiten bei DateTime-Umwandlungen
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1436908)
Was kommt denn bei dir konkret heraus als Unix-Zeitstempel? Ist es
Delphi-Quellcode:
1557439200
? Dann hast du alles richtig gemacht und der Fehler liegt nicht bei dir 😎

Jepp, du hast 100% recht. Ich habe inzwischen Rückmeldung vom Entwickler des REST-Service. Es ist "nur" ein Darstellungsproblem in deren Webinterface. Also clientseitig beim Betrachter (vmtl. JavaScript). Insofern Frage erledigt.

Manchmal zweifelt man hat eher an seinen eigenen Quellen (oder wahlweise denen von Emba) als an denen der anderen.


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