如何使用boost Date_Time获得GMT时间(以毫秒为单位)?

ste*_*anB 5 c++ boost boost-date-time

有没有一种简单的方法可以从boost Date_Time库中获取当前GMT时间(以毫秒为单位)?

这是一个使用的例子time_of_day,我不想要time_of_day但是GMT的总时间如下long long int:

boost::posix_time::ptime time =
          boost::posix_time::microsec_clock::universal_time();
boost::posix_time::time_duration duration( time.time_of_day() );  // ???
long long int timeInMilliseconds = duration.total_milliseconds();
Run Code Online (Sandbox Code Playgroud)

ild*_*arn 8

没有什么内置的东西我可以看到,但像往常一样,实现起来很简单:

boost::posix_time::time_duration::tick_type milliseconds_since_epoch()
{
    using boost::gregorian::date;
    using boost::posix_time::ptime;
    using boost::posix_time::microsec_clock;

    static ptime const epoch(date(1970, 1, 1));
    return (microsec_clock::universal_time() - epoch).total_milliseconds();
}
Run Code Online (Sandbox Code Playgroud)