Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;计算日期之间的差异_C++_C++builder_Datediff_Tdatetime - Fatal编程技术网

C++ C++;计算日期之间的差异

C++ C++;计算日期之间的差异,c++,c++builder,datediff,tdatetime,C++,C++builder,Datediff,Tdatetime,可能重复: 我无法计算两个日期之间的差异,然后显示差异。我已经发布了一个以前的问题 我需要有关replaceTime函数的帮助。我不确定我需要如何/为什么使用这个 这是我的密码: TDateTime testFirstDate("11/09/2012"); TDateTime testFirstTime("14:00"); TDateTime testSecondDate("12/09/2012"); TDateTime testSecondTime("16:00"); TDateTime

可能重复:

我无法计算两个日期之间的差异,然后显示差异。我已经发布了一个以前的问题

我需要有关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;
TDateTime testFirstDate(“2012年9月11日”);
TDateTime testFirstTime(“14:00”);
t日期测试第二个日期(“2012年9月12日”);
TDateTime testSecondTime(“16:00”);
TDateTime testCombined1=替换时间(testFirstDate,testFirstTime);
TDateTime testCombined2=替换时间(testSecondDate,testSecondTime);
TDateTime testDateDifference=testCombined2-testCombined1;

std::cout您的代码没有意义。两个日期的差异永远不是新的日期

我怀疑这部分是错误的:

TDateTime testDateDifference = testCombined2 - testCombined1;

两个日期的差异是一段时间——一个时间跨度(通常以秒为单位)。您是否自己编写了TDateTime的实现?

您不需要多次重复提出同一个问题:您的问题是?在我看来,似乎使用了ReplaceTime来组合日期和时间。您需要结合testFirstDate和testFirstTime,以及testSecondDate和testSecondTime才能找到差异,否?是。基本上,我想知道第二次和日期是否比第一次和日期晚,这是C++的Builder库的TDATEIME的实现。他的代码是正确的,两个日期之间的差值是另一个日期。
使用System::TDateTime::-从System::TDateTime::TDateTime对象中减去rhs操作数指定的值。rhs操作数表示要减去的天数(包括小数天)。
根据Borland规范,尽管类型是TDateTime,但rhs操作数在技术上不是日期。这就是他们如何逃脱操作员-()返回新日期的惩罚。至少.NET在DateTime类中做到了这一点。