Poco TimeStamps和Timespans

时间:2016-06-22 18:44:02

标签: c++ poco-libraries

我正在尝试使用Poco时间类计算我程序中的一些时间。我想在线程中检测到超时。

我首先创建一个表示我的提示时间的时间跨度,一个用于启动线程的时间戳,以及检查当前时间跨度是否大于超时时间,即

Poco::Timestamp startTime;
Poco::Timespan timeOutTime(60*Poco::Timespan::SECONDS); // 60s timeout

我想在计时器功能中检查超时:

bool Process::isTimedOut()
{
    Timestamp now;
    if((now - startTime) > timeOutTime)
    {
        return true;
    }
    else
    {
        return false;
    }
}

但是,上面if语句中的超时检查不会编译:说非法结构操作。

有关如何使用这些poco类的任何线索?

1 个答案:

答案 0 :(得分:1)

这适用于Poco::Timespan

bool isTimedOut()
{
    Poco::Timestamp now;
    Poco::Timespan timeElapsed(now - startTime);
    if( timeElapsed > timeOutTime)
    {
        return true;
    }
    else
    {
        return false;
    }
}