TDateTime kann wesentlich mehr darstellen,
aber die anderen
API, welche in dessen Zusammenhang genutzt werden, z.B. der SystemTime-Record, sind aber beschränkt.
Sowie Funktionen für das Editieren des Wertes, sowie beim Konvertieren von und zu Strings.
Außerdem wird TDateTime etwas ungenauer, je weiter man von 1900 abweicht. (je größer der Teil vor dem Komma, um so weniger gibt es hinter dem Komma)
1 Millisekunde = 0,00000001
1574
bei 15 bis 16 signifikanten Stellen des TDateTime aka Double, nja ...
Code:
0,000000011574
1234567,89012345
9999999 = 27378 Jahre
999999 = 2738 Jahre
1900 + 2738 = 4638
1900 + 27378 = 29278
In 2500 Jahren wird also die letzte Millisekunde anfangen schwammig zu werden.
Und bei deinen ~20.000 Jahren ist sie dann ganz weg ... isses dann halt nur noch 'ne Hundertstelsekunde genau.