Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.926 Beiträge
 
Delphi 10.4 Sydney
 
#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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

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