boost库中获取当前时间的ptime的方法

本文详细介绍了Boost库中ptime类的使用方法,包括如何通过多种方式获取不同精度和事件类型的ptime变量,并阐述了在使用中可能出现的冲突问题及解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

boost库作为c++中非常优秀的库,得到了非常广泛的应用,其配有相应的文档,可以做学习之用。但是,其文档较为简略,在使用ptime时,为了获得当前时间的ptime变量,略有收获,随写文章记录之。

 

ptime是一个很方便强大的类,其中特性之一就是可以用多种不同的方式来获得一个ptime对象,boost的文档中给出了如下代码:

  ptime t(second_clock::local_time());


  ptime t(second_clock::universal_time());


  ptime t(microsec_clock::local_time());

  ptime t(microsec_clock::universal_time());

 这段代码简要的说明了其获取不同精度和事件类型的使用方式。其实,其中的microsec_clock是一个模板类,需要传递一个模板参数,

 template<class time_type>
  class microsec_clock
  {

 在boost中,有一个文件boost\date_time\posix_time\posix_time_types.hpp,其中包含了该time_type的设置,也就是设置为ptime,其中有如下代码:

 

      

#ifdef BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK
  //! A time clock that has a resolution of one microsecond
  /*! \ingroup time_basics
   */
  typedef date_time::microsec_clock<ptime> microsec_clock;
#endif

   所以,在posix_time名字空间使用文档中的代码是没有问题的,但是如果同时在代码中引入了date_time名字空间,将会出现冲突问题,这个时候需要指明其参数。  同时,从这里也能看到,
microsec_clock类也是一个模板,其能用于不同的time类.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值