【问题标题】:How to get the sub seconds of current time如何获取当前时间的亚秒
【发布时间】:2019-02-12 08:53:58
【问题描述】:
const boost::posix_time::ptime now;
boost::posix_time::second_clock::local_time();

now.date().year();
now.date().month();
now.date().day();

now.time_of_day().hours(); 
now.time_of_day().minutes();
now.time_of_day().seconds();

我想出了如何使用 boost::posix_time::ptime 获取年、月、日、小时、分钟和秒。

但我无法获得亚秒级的 ptime。有什么方法可以得到毫秒、微秒或纳秒?

谢谢。

【问题讨论】:

    标签: c++11 boost


    【解决方案1】:

    您可以通过从 total_milliseconds/microseconds 中减去缩放后的总秒数来做到这一点:

    要获得 ms,请使用:

    time_duration td;
    td.total_milliseconds() - (td.total_seconds()*1000)
    

    要获得我们,请使用:

    time_duration td;
    td.total_microseconds() - (td.total_seconds()*1000000)
    

    您需要在调用local_time 时将时钟类型从second_clock(基于秒精度)更改为microsec_clock 以查看ms/us 不同于0。

    DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-04
      • 2017-04-25
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 2017-11-29
      相关资源
      最近更新 更多