Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datum/Zeitwerte vergleichen

  Alt 12. Sep 2018, 20:47
Zitat:
Also erst nach String, dann nach Int64
Nein!

Wenn ein Zwischentyp, dann einer mit einer besseren Speicherverwaltung.


Aber warum ein Integer mit einem komischen Format?

Such dir einen Zeit-Typen aus, der sich leicht vergleichen kässt.

TimeStamp (ala Linux) oder TDateTime (ala Delphi-Style) sind Zahlen (Linux-TimeStamp und "Date" = Ganzzahl oder TDate/TTime/TDateTime = Fließkommazahl)
und dann nur noch die verschiedenen Typen "einheitlich" da hin konvertieren.



Leider versteckt die Delphi-RTL die einzige Funktion, welche FILETIME (UTC) direkt nach TDateTime (LocalTime) konvertiert so tief, dass da niemand ran kommt.
Aber sonst gibt es dennoch mehrere Funktionen zum Konvertieren dieser Typen.
Und fast alle gehen immer einen dieser Wege:
TFileTime > TSystemTime > TDateTime
TFileTime > TSystemTime > local TSystemTime > TDateTime



PS: FILETIME (DOS: FAT16) ist ein Integer und die FILETILE der aktuellen WinAPI ist eigentlich schon ein UInt64 (ULARGE_INTEGER).
Gut offiziell sagt microsoft, dass man ihn nicht direkt casten soll, aber es geht.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Sep 2018 um 20:59 Uhr)
  Mit Zitat antworten Zitat