Comprobando dos variables de TDateTime

Estoy usando C ++ Builder y tengo la siguiente pregunta:

Quiero detectar si una fecha / hora es posterior a otra fecha / hora y en qué medida.

Aquí está mi código actual:

TDateTime testFirstDate("11/09/2012");
TDateTime testFirstTime("14:00");

TDateTime testSecondDate("12/09/2012");
TDateTime testSecondTime("16:00");

TDateTime testCombined1 = testFirstDate + testFirstTime;
TDateTime testCombined2 = testSecondDate + testSecondTime;

TDateTime testDateDifference = testSecondDate - testFirstDate;
std::cout << testDateDifference;

En el ejemplo anterior, se imprime lo siguiente: 31/12/1899

La diferencia entre los dos valores es de solo 1 día. ¿Por qué se imprime el 31/12/1899 y no algo como: 1?

Respuestas a la pregunta(2)

Su respuesta a la pregunta