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

发布时间 - 2026-01-11 00:12:11    点击率:

利用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获取时间并格式化的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# boost  # 时间格式化  # visual studio 2015下boost库配置教程  # VS2013安装配置和使用Boost库教程  # 使用boost读取XML文件详细介绍  # C++中Boost库裁剪与其应用详解  # 使用设计模式中的单例模式来实现C++的boost库  # VS2010 boost标准库开发环境安装教程  # 给大家  # 的是  # 希望能  # 仅仅是  # 这篇  # 方便快捷  # 小编  # 大家多多  # 很强大  # 替换成  # 这时候  # define  # BOOST_DATE_TIME_SOURCE  # gt  # strTime  # gregorian  # hpp  # to_iso_string  # day_clock  # cout 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel如何使用查询构建器?(Query Builder高级用法)  香港服务器租用每月最低只需15元?  MySQL查询结果复制到新表的方法(更新、插入)  香港服务器选型指南:免备案配置与高效建站方案解析  轻松掌握MySQL函数中的last_insert_id()  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  如何在云虚拟主机上快速搭建个人网站?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  微信小程序 HTTPS报错整理常见问题及解决方案  php 三元运算符实例详细介绍  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  如何在阿里云虚拟主机上快速搭建个人网站?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何确保西部建站助手FTP传输的安全性?  Laravel如何实现事件和监听器?(Event & Listener实战)  Windows Hello人脸识别突然无法使用  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  javascript基于原型链的继承及call和apply函数用法分析  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Swift开发中switch语句值绑定模式  如何在景安云服务器上绑定域名并配置虚拟主机?  深圳网站制作的公司有哪些,dido官方网站?  Python文本处理实践_日志清洗解析【指导】  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  三星、SK海力士获美批准:可向中国出口芯片制造设备  php结合redis实现高并发下的抢购、秒杀功能的实例  如何快速辨别茅台真假?关键步骤解析  如何用花生壳三步快速搭建专属网站?  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  装修招标网站设计制作流程,装修招标流程?  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Laravel如何集成Inertia.js与Vue/React?(安装配置)  JavaScript如何实现路由_前端路由原理是什么  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  Laravel如何处理和验证JSON类型的数据库字段  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何用免费手机建站系统零基础打造专业网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  在centOS 7安装mysql 5.7的详细教程