用24小时格式比较C / C ++中的小时数

时间:2014-02-08 19:43:45

标签: c++ c

我如何确定两次之间是否有4小时的差异,以24小时格式给出?

我试过这个:

time_t  timeP;
time(&timeP);
//....
time_t  nowP;
time(&nowP);

if((nowP - timeP) % 4 == 0){
    //...
}

还有什么更好的主意吗?

1 个答案:

答案 0 :(得分:3)

if ((nowP - timeP) % 4 == 0)

此代码采用以模4为单位的时间差,这可能对您没有多大价值。

if ((nowP - timeP) >= 60*60*4)

这会告诉你两个时间点之间已经过了4个小时。您不应该使用==来比较时间,以避免跳过您想要检查的时间(例如,计算机速度慢且滞后,系统时间同步并跳过一秒钟......)。