Es ist schon etwas schwer, eine Begründung dafür zu liefern, das ein Wert vom Typ 'TDate' auch eine Uhrzeit enthält, ein Wert vom Typ 'TTime' auch das Datum und 'TDateTime' beides. Weiterhin ist es nicht leicht, die Existenz der drei Datentypen zu rechtfertigen, wo es einer genauso täte.
Das das so ist, scheint nun jeder begriffen zu haben, aber klar im Sinne von 'klarer Code' ist das mit Sicherheit nicht, eher das Gegenteil.
Verwirrend.