C++ 在公差范围内比较两次是否相等?
我有一个MFC应用程序,希望在指定的时间调用某个方法。我将使用tm结构的向量指定时间,该向量已填充小时-分钟和秒。可能每次我都需要存储一个布尔值,以指示是否在指定的时间调用了该方法。我有一个计时器,每50毫秒响一次 在MFC中,时间不能保证在指定的时间间隔内结束。我希望确保即使关闭几秒钟,也会调用该方法。我的应用程序目前不需要精确的计时(尽管如果有一个简单的解决方案,我愿意接受)。我目前的想法是允许一些滑动,这样我允许时间等于+/-几秒钟。这看起来是实现这一目标的合理方式吗 我想检查两次是否在一定的秒公差内相等。在C++中,最好的方法是什么?我可以访问CTime对象和/或struct tm对象(以及可能的其他windows时间数据结构) 更新 我想,在秒接近分钟或小时边界的情况下,实际上增加了复杂性。我不能只比较秒。您需要使用来获取时间C++ 在公差范围内比较两次是否相等?,c++,windows,time,timer,C++,Windows,Time,Timer,我有一个MFC应用程序,希望在指定的时间调用某个方法。我将使用tm结构的向量指定时间,该向量已填充小时-分钟和秒。可能每次我都需要存储一个布尔值,以指示是否在指定的时间调用了该方法。我有一个计时器,每50毫秒响一次 在MFC中,时间不能保证在指定的时间间隔内结束。我希望确保即使关闭几秒钟,也会调用该方法。我的应用程序目前不需要精确的计时(尽管如果有一个简单的解决方案,我愿意接受)。我目前的想法是允许一些滑动,这样我允许时间等于+/-几秒钟。这看起来是实现这一目标的合理方式吗 我想检查两次是否在一
time\u t
通常是自1970年初以来的秒数,因此您不必担心2:10:59与2:11:01之间的差异
struct tm expected_tm;
struct tm actual_tm;
// set those tms to something
time_t expected_time = mktime( &expected_tm );
time_t actual_time = mktime( &actual_tm );
if ( abs( expected_time - actual_time ) < 5 ) // for 5s tolerance
{
// GOOD
}
else
{
// BAD
}
struct-tm预期的\u-tm;
struct tm实际_tm;
//把那些tms设置成什么
时间\u t预期时间=mktime(&expected\u tm);
time\u t actual\u time=mktime(&actual\u tm);
if(abs(预期时间-实际时间)<5)//用于5s公差
{
//好
}
其他的
{
//坏的
}
您需要使用来获取时间time\u t
通常是自1970年初以来的秒数,因此您不必担心2:10:59与2:11:01之间的差异
struct tm expected_tm;
struct tm actual_tm;
// set those tms to something
time_t expected_time = mktime( &expected_tm );
time_t actual_time = mktime( &actual_tm );
if ( abs( expected_time - actual_time ) < 5 ) // for 5s tolerance
{
// GOOD
}
else
{
// BAD
}
struct-tm预期的\u-tm;
struct tm实际_tm;
//把那些tms设置成什么
时间\u t预期时间=mktime(&expected\u tm);
time\u t actual\u time=mktime(&actual\u tm);
if(abs(预期时间-实际时间)<5)//用于5s公差
{
//好
}
其他的
{
//坏的
}
我喜欢这个,我目前唯一的犹豫是它对日期敏感,而不仅仅是时间。因此,我必须使预期时间的日期始终与实际时间的日期相同。实际上,它可能不会出现,因为应用程序通常会在两天之间关闭。虽然从概念上讲,我仍然想知道如何实现日期独立性。我想我可以将struct tm上的年、月和日设置为相同的。根据你的回答,我决定创建一个时间向量,而不是struct tm的向量,但如果回到struct tm,我看起来可以很容易地设置日期。另一件事是,我希望它是预期的时间或更长的时间。如果可能的话,这实际上会尝试在预期时间前5秒开始。我喜欢这样,我现在唯一的犹豫是它对日期敏感,而不仅仅是时间。因此,我必须使预期时间的日期始终与实际时间的日期相同。实际上,它可能不会出现,因为应用程序通常会在两天之间关闭。虽然从概念上讲,我仍然想知道如何实现日期独立性。我想我可以将struct tm上的年、月和日设置为相同的。根据你的回答,我决定创建一个时间向量,而不是struct tm的向量,但如果回到struct tm,我看起来可以很容易地设置日期。另一件事是,我希望它是预期的时间或更长的时间。如果可能,这将实际尝试在预期时间前5秒启动。