2012-09-12 10 views
0

Можно создать дубликат:
Checking two TDateTime variablesC++ вычислить разницу между датами

У меня возникают проблемы вычисления разницы между двумя датами, а затем отображать разницу. Я опубликовал предыдущий вопрос.

Мне нужна помощь с функцией replaceTime. Я не уверен, как/почему я должен использовать это.

Вот мой код:

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

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

TDateTime testCombined1 = ReplaceTime(testFirstDate,testFirstTime); 
TDateTime testCombined2 = ReplaceTime(testSecondDate,testSecondTime); 

TDateTime testDateDifference = testCombined2 - testCombined1; 

std::cout << testDateDifference; 
+2

Вам не нужно повторять один и тот же вопрос более одного раза: [Проверка двух переменных TDateTime] (http://stackoverflow.com/questions/12386266/checking-two-tdatetime-variables) –

+0

И ваша проблема/вопрос ? – StoryTeller

+0

Мне кажется, что ReplaceTime используется для комбинирования даты и времени. Вам нужно комбинировать testFirstDate и testFirstTime, а также testSecondDate и testSecondTime, прежде чем найти разницу, нет? – john

ответ

0

Ваш код не имеет смысла. Разница двух дат никогда не будет новой датой!

Я подозреваю, что эта часть не так:

TDateTime testDateDifference = testCombined2 - testCombined1; 

разность двух дат период времени - промежуток времени (обычно в секундах). Вы сами записывали реализацию для TDateTime?

+0

Это реализация библиотек TDateTime из C++ Builder. Его код прав, разница между двумя датами - это другая дата. –

+0

'Использовать System :: TDateTime :: - для вычитания значения, указанного операндом rhs, из объекта System :: TDateTime :: TDateTime. Оператор rhs представляет количество дней (включая дробные дни) для вычитания. Согласно спецификации Borland, хотя тип TDateTime, операнд rhs технически не является датой. Вот как они могут уйти с operator-(), возвращая новую дату. По крайней мере, .NET получил это право со своим классом DateTime. –

Смежные вопросы