gpt4 book ai didi

c++ - 比较两个 TDateTime 变量

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:52 25 4
gpt4 key购买 nike

我正在使用 C++ Builder,我需要一些帮助来查看两次是否相同。

这是我的代码:

TDateTime appDateFromVector = TimeOf(appointmentsForFind[i].getAppDateTime());
DateTime appDateFromControl = TimeOf(DateTimePickerAppointmentTime->Time);

这些值似乎是相同的。我已经通过 ShowMessage 语句进行了检查,显示的消息均采用时间格式且值相同。

虽然比较它们时,使用以下语句:

if (appDateFromVector == appDateFromControl)

我没有得到真实的陈述。是否需要另一个过程来检查两次是否相同?

谢谢

最佳答案

这是来自 Embarcadero 文档

The System::TDateTime class inherits a val data member declared as a double that holds the date-time value. The integral part of a System::TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of a System::TDateTime value is the time of day.

在使用 == 运算符时,正是这个 double 被测试是否相等,因此时间上非常微小的差异可能导致明显相似的时间看起来不相等。您应该考虑测试相等性所需的精度分辨率(例如,精确到秒),然后考虑使用将日期时间转换为适当格式的字符串并测试字符串是否相等的函数。

这是我测试时间相等性的方法,但我从来不需要高于一秒的分辨率来进行相等性测试。看看这个将 TDateTime 输出为 string

关于c++ - 比较两个 TDateTime 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12601615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com