利用boost获取时间并格式化的方法

 更新时间:2017年03月16日 10:19:32   投稿:jingxian  
下面小编就为大家带来一篇利用boost获取时间并格式化的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

利用boost来获取当前时间又方便快捷,还不用考虑跨平台的问题。

1.   输出YYYYMMDD

#include <boost/date_time/gregorian/gregorian.hpp> 
#define BOOST_DATE_TIME_SOURCE 
   
std::string strTime = boost::gregorian::to_iso_string(\ 
boost::gregorian::day_clock::local_day()); 
   
std::cout << strTime.c_str() << std::endl;

2.   输出YYYYMMDD-HH:MM:SS

#include <boost/date_time/posix_time/posix_time.hpp> 
#define BOOST_DATE_TIME_SOURCE 
   
std::string strTime = boost::posix_time::to_iso_string(\ 
boost::posix_time::second_clock::local_time()); 
   
// 这时候strTime里存放时间的格式是YYYYMMDDTHHMMSS,日期和时间用大写字母T隔开了 
   
int pos = strTime.find('T'); 
strTime.replace(pos,1,std::string("-")); 
strTime.replace(pos + 3,0,std::string(":")); 
strTime.replace(pos + 6,0,std::string(":")); 
   
std::cout << strTime.c_str() << std::endl; 

3.   计算时间间隔。boost里计算时间间隔的功能很多很强大,我列举的仅仅是我目前用到的。

#include <boost/date_time/posix_time/posix_time.hpp> 
#include <boost/thread.hpp> 
#define BOOST_DATE_TIME_SOURCE 
 
boost::posix_time::ptime time_now,time_now1; 
boost::posix_time::millisec_posix_time_system_config::time_duration_type time_elapse; 
 
// 这里为微秒为单位;这里可以将microsec_clock替换成second_clock以秒为单位; 
time_now = boost::posix_time::microsec_clock::universal_time(); 
 
// sleep 100毫秒; 
boost::this_thread::sleep(boost::posix_time::millisec(100)); 
 
time_now1 = boost::posix_time::microsec_clock::universal_time(); 
 
time_elapse = time_now1 - time_now; 
 
// 类似GetTickCount,只是这边得到的是2个时间的ticket值的差,以微秒为单位; 
int ticks = time_elapse.ticks(); 
 
// 得到两个时间间隔的秒数; 
int sec = time_elapse.total_seconds(); 

以上这篇利用boost获取时间并格式化的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言实现简单通讯录功能

    C语言实现简单通讯录功能

    这篇文章主要为大家详细介绍了C语言实现简单通讯录功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 详解Matlab实现动态表白图的绘制

    详解Matlab实现动态表白图的绘制

    这篇文章主要利用Matlab实现绘制独特的表白动图,文中的示例代码讲解详细,对我们学习Matlab有一定的帮助,感兴趣的小伙伴可以了解一下
    2022-05-05
  • C语言实现贪吃蛇超详细教程

    C语言实现贪吃蛇超详细教程

    本文详细讲解了C语言实现贪吃蛇的方法,文中通过示例代码介绍的非常详细。对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • libxml教程(图文详解)

    libxml教程(图文详解)

    本篇文章是对libxm进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 基于C语言的库封装发布技术详解

    基于C语言的库封装发布技术详解

    在编程的过程中,使用已经封装好的库函数是十分方便的,也是十分高效的,这篇文章主要给大家介绍了关于C语言库的封装和使用的相关资料,需要的朋友可以参考下
    2021-08-08
  • 详解C++中的常量

    详解C++中的常量

    这篇文章主要介绍了C++中的常量的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C++实现扫雷、排雷小游戏

    C++实现扫雷、排雷小游戏

    这篇文章主要为大家详细介绍了C++实现扫雷、排雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • C语言递归之汉诺塔和青蛙跳台阶问题

    C语言递归之汉诺塔和青蛙跳台阶问题

    这篇文章主要介绍了C语言递归之汉诺塔问题和青蛙跳台阶问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 用C++实现推箱子小游戏

    用C++实现推箱子小游戏

    这篇文章主要为大家详细介绍了用C++实现推箱子小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • C++中Boost的转换函数

    C++中Boost的转换函数

    这篇文章介绍了C++中Boost的转换函数,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论