0

所以我是 Unix 新手,不知道它的 API。我想知道 Unix 上的镜像 api 是什么?

#include <boost/date_time.hpp>

class timer
{
public:
        timer();
        void restart();
        boost::posix_time::time_duration elapsed() const;
private:
        boost::posix_time::ptime start_time;
};

// and cpp looks like
#include "timer.h"

timer::timer() : start_time(boost::posix_time::microsec_clock::local_time()) { }

void timer::restart()
{
        start_time = boost::posix_time::microsec_clock::local_time();
}

boost::posix_time::time_duration timer::elapsed() const
{
        return boost::posix_time::microsec_clock::local_time() - start_time;
}

那么如何使用 Unix api 在我的简单类中删除 boost 使用?

4

1 回答 1

0

Unix 时间是从一个纪元 (1970-01-01T00:00:00Z) 过去的秒数,你已经知道其余的时间了:

using boost::posix_time;
ptime unixEpoch( 1970, 1, 1 );
time_t t = (time_t) (microsec_clock::local_time() - unixEpoch).total_seconds()
于 2012-10-16T03:18:24.680 回答