TDateTime kann wesentlich mehr darstellen,
aber die anderen API, welche in dessen Zusammenhang genutzt werden, z.B. der SystemTime-Record, sind aber beschränkt.
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.