NaN scheidet aus, denn der ist auch nur wieder 0.0 und damit bei TDateTime = 30. Dezember 1899 12:00 Uhr. Und JA, nicht initialisiert und INVALID sind in meinem Fall zweierlei. Das ist aber sehr fallspezifisch.
Ein TDateTime
ist als gültig definiert zwischen dem 01.01.0001 und dem 31.12.9999. Alles andere kann als NULL-DateTime verwendet werden.
Den Tag vor dem 01.01.0001 bekommt man übrigens mit -DateDelta
erreichen. Ein solches Datum wird dann von DateTimeToStr
als 00.00.0000 dargestellt.
Das ist interessant. Wusste ich auch noch nicht. Ebenso wie die Hilfe, die kennt "DateDelta" auch nicht. Dann wäre ein wirklich INVALIDer Wert
INVALID_DATE = -DateDelta - 1
?