使用Boost以秒为单位的经过时间

时间:2013-04-14 10:51:44

标签: c++ boost

我通常在接下来的时间播种我的RNG,通过致电time.h

获得
#include <iostream>
#include <time.h>

using namespace std;



int main()
{
    cout << static_cast<unsigned int>(time(0)) << endl;
    return 0;
}

Boost库中是否有等效的static_cast<unsigned int>(time(0))

1 个答案:

答案 0 :(得分:3)

您可以使用boost::posix_time获得时间。见SO question。例如:

boost::posix_time::time_duration diff = tick - now;
diff.total_milliseconds();

如果可以使用C ++ 11,也可以使用C++11 chrono。例如:

int elapsed_milliseconds = std::chrono::duration_cast<std::chrono::milliseconds>(end-start).count();

使用这两种方法,您可以获得从一天开始的毫秒数,然后将其分配给您的种子。