【发布时间】:2012-09-05 08:39:24
【问题描述】:
我正在使用 C++ Builder 并且有以下问题:
我想检测一个日期/时间是否晚于另一个日期/时间,以及晚了多少。
这是我当前的代码:
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;
在上面的示例中,打印出以下内容:31/12/1899
这两个值之间的差异只有 1 天。为什么打印的是:31/12/1899,而不是类似:1?
【问题讨论】:
-
只需将它们相减,“-”运算符会返回另一个包含差异的 TDateTime。
-
减法的结果是
TDateTime,所以输出仍然是日期格式。您需要以某种方式提取数值。对于最新的 BCB,我没有使用 VCL,所以我不知道执行此操作的TDateTime的确切成员函数。您应该可以通过 BCB 帮助系统快速找到它。
标签: c++ c++builder vcl datediff tdatetime